AI 學習紀錄 – LangChain-ChatChat ChatGLM2 個人知識庫

在上一篇 AI 學習紀錄 – ChatGLM2-6B 使用與微調 裡,我們單獨的介紹 ChatGLM2 這個類 chatGPT 專案。而本文要介紹的是基於 ChatGLM2 (或其它聊天系統) 的LangChain-ChatChat個人知識管理庫。

它的特點是可以

  • 快速在不同的聊天系統間切換,如 chatGPT 與 chatGLM 間
  • 可以上傳文件,建立一個智能檢索系統。如法律、醫學之類的

可以建立自己的知識庫算是最大的優點,看起來的確有那個效果,不過還沒深入使用。因為檢索的有點太快,不像是一般的AI訓練,效果待觀查。

所需硬體

建議 16GB 以上顯卡,降規的話好像可以用6GB即可,但我沒試過。沒 GPU 跑的話,系統要32GB RAM才夠,但是速度很慢,i7-12700K大概可以每秒出來2個字吧。

基本環境安裝

一些基本的環境 (如 anaconda、共用 script) 的設定,已經寫在【共同操作】 這篇文章裡,請先看一下,確保所以指令可以正確運作。

建立 conda env

由於每個專案的相依性都不同,這裡會為每個案子都建立環境。

源碼下載與安裝環境

安裝下面套件。

下載模型與Embedding

由於 git 下載大檔,要支援 LFS。參考這篇文章的做法,可以安裝成功

接著在下載模型與Embeddings

 

編輯設定檔

首先將範例設定檔複製一份。然後修改 model_config.py 和 server_config.py, 其 diff 差異如下

 

 

DIFF檔看起來有點亂。model_config.py 在embedding_model_dict只保留了m3e-base, llm_model_dict只保留了chatglm2-6b。而 server_config.py 則是允許從外部機器連進來。

初始化與啟動

下達命令來進行知識庫的初始化

然後用一鍵啟動來執行所有服務

啟動

看到上面畫面就算啟動成功了,接下來就用瀏覽器來連上網頁, http://IP:8501 了。

首頁

左邊可以選擇要使用對話的方式,包含LLM對話(就像chatGPT), 知識庫問答或搜索引擎。歷史對話輪數,則是他會參考之前的問答個數。右邊則是問答區。

知識庫管理

進入知識庫管理,可以建立和上傳檔案等管理動作,我們從法務部下載著作權法下來試試看,下載 PDF 就可以。

接下來切回對話,選擇知識庫問答。

我問了一下「散佈盜版軟體要會被罰嗎」「刑期範圍為何?」,看他講的都頭頭是道。我認真看了一條,還真的是對的!

「違反第八十條之一規定,可能被處一年以下有期徒刑、拘役或科或併科新臺幣二萬元以上二十五萬元以下罰金」

結語

這2篇真是刷了我一波觀念,離上次研究才過沒多久,已經有可以拿到私用的強大檢索器了!AI進步真的很快啊~

Leave a Reply(Name請以user_開頭,否則會被判定會垃圾息)

請輸入答案 12 ÷ 3 =