提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、ChatGLM3-6B部署
- 搭建環境
- 部署GLM3
- 二、Chatglm2-6b+langchain部署
- 三、Tips
- 四、總結
前言
提示:這里可以添加本文要記錄的大概內容:
看了幾天chatglm和langchain的部署,經過不斷報錯,終于試出了可以運行的方案,不過本地知識庫搭建還有問題,要再看看。本文主要介紹ChatGLM3-6B的部署和實現效果,和Chatglm2-6b+langchain結合的實現效果。
提示:以下是本篇文章正文內容,下面案例可供參考
一、ChatGLM3-6B部署
搭建環境
用阿里云免費資源進行創建實例,詳情可參考
點擊試用,OSS那里要勾上,看別人都勾了,不過我沒勾,不知道會不會有什么問題,然后授權就行了。
創建完后進入控制臺,點擊【交互式建模DSW】,進行創建實例,只能選擇可抵扣計算時的V100或者A10,只有這兩個規格的GPU是免費試用的(頁面沒有的話,可以過段時間再進去可能就有了,不過用哪個都行不過A10沒那么耗資源)。
因為我們的是資源包,所以可以創建n個實例,我創建了一個V100的實例,配置如下:
官方鏡像:pytorch2.0.1tensorflow2.13.0-cpu-py38-ubunt
(最新的)
部署GLM3
1、點擊創建的實例,進入terminal,輸入:
apt-get update
apt-get install git-lfs
git init
git lfs install
2、首先git clone下載GLM3倉庫,并切換到這個文件夾下
git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
3、然后使用 pip 安裝依賴:
最新版本中,建議在WEBIDE雙擊打開requirements.txt,然后把其中的“gradio~=3.39”修改成“gradio==3.39”
4、加好保存后,運行下面腳本:
pip install -r requirements.txt
5、git 下載本地模型
從modelscope上git下載模型,一個速度快,而且也不會因為網絡問題下載不下來
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
6、修改變量路徑并啟用
有2個文件需要修改變量路徑,一個是basic_demo
下的“web_demo.py”
,另一個是chatgm3-6b
下的“config.json”
,都是把默認的“THUDM/”
修改為“/mnt/workspace/ChatGLM3/”
(就是修改為chatglm3-6b所在的本地目錄)
這里的修改,可以使用vim,也可以在WEBIDE中直接左邊欄雙擊打開文件修改(推薦)
7、運行下列代碼啟動web_demo.py
python /mnt/workspace/ChatGLM3/basic_demo/web_demo.py
點擊第二個url跳轉后就可以進行對話了。如下圖所示
二、Chatglm2-6b+langchain部署
借鑒網頁1
借鑒網頁2
先創建實例:A10,鏡像在官方鏡像里面選pytorch-develop:1.12-cpu-py39-ubuntu20.04
之前用鏡像url輸入地區url和選了官方鏡像里面的*modelscope:*相關的鏡像都因為版本之類的原因報錯了。
更新一下:
apt-get update
apt-get install git-lfs
git init
git lfs install
接著下載好相關的模型和源碼:
目錄結構參考:
在/mnt/workspace
目錄下安裝
git clone https://github.com/THUDM/ChatGLM2-6B.git
git clone https://www.modelscope.cn/ZhipuAI/chatglm2-6b.git
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
cd langchain-ChatGLM
git clone https://www.modelscope.cn/thomas/text2vec-base-chinese.git
該網站有許多模型可以下載,因為現在好像沒辦法在huggle.co下載模型了,國內推薦在modelscope里面下載。
分別在/ChatGLM2-6B 和/langchain-ChatGLM目錄下執行pip install –r requirements.txt
安裝依賴。
修改模型對應路徑:
1.chatglm2-6b:
chatglm2-6b模型在目錄的config.json文件中修改"_name_or_path"
2.ChatGLM2-6B:
在web_demo.py
和web_demo2.py
中都把tokenizer
和model
的路徑修改為本地chatlm2-6b的路徑
3.langchain-ChatGLM:
- 修改configs目錄下的文件后面的
.example
都去掉
- 修改
model_config.py
# 01.僅指定 chatglm2-6b
LLM_MODELS = ["chatglm2-6b", ]# 02.指定為 空
ONLINE_LLM_MODEL = { }# 03.僅指定 text2vec-base-chinese chatglm2-6b
MODEL_PATH = {
"embed_model": {# 僅指定 這一個"text2vec-base-chinese": "/mnt/workspace/langchain-ChatGLM/text2vec-base-chinese",},"llm_model": {# 僅指定 這一個"chatglm2-6b": "/mnt/workspace/chatglm2-6b",},
}# 04.僅指定 chatglm2
SUPPORT_AGENT_MODEL = ["chatglm2",
]
- 修改
server_config.py
FSCHAT_MODEL_WORKERS = {# 所有模型共用的默認配置,可在模型專項配置中進行覆蓋。"default": {"host": DEFAULT_BIND_HOST,"port": 20002,"device": LLM_DEVICE,"infer_turbo": False,}
}
創建知識庫
python init_database.py --recreate-vs
執行私有庫模型
python startup.py -a
點擊執行后的網址就出來了:
使用的時候內存消耗比較大
三、Tips
1、該網站有許多模型可以下載,因為現在好像沒辦法在huggle.co下載模型了,國內推薦在modelscope里面下載。
2、當我們國內的網打不開一些模型網站時,可以先用魔法,download下來到本地,然后上傳到gitee再git clone借鑒網站
3、pip install的時候建議后面加清華源,一個是速度快,還有一個是能避免一些錯誤(雖然不知道為什么)
pip install 安裝包名字 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn //清華大學
pip install 安裝包名字 -i http://[pypi](https://so.csdn.net/so/search?q=pypi&spm=1001.2101.3001.7020).doubanio.com/simple/ --trusted-host pypi.doubanio.com //豆瓣鏡像網站
四、總結
不管怎么樣首先還是要自己去多實踐,實踐出真知,我也創建了好幾個實例,用了不同環境,修改方法才慢慢摸索出來,而且試多了也大概知道一些錯誤怎么修改還有修改原因之類的,所以越到后面越熟練了,我做這個部署也有幾天了,每天看不同的網頁,阿里云、本地都有嘗試(本地可能是電腦太垃了搞不起來,畢竟莫得獨顯),成功的時候還是比較欣慰的,所以大家一定要堅持,很多東西尤其是沒試過的東西很難一蹴而就,往往需要我們不斷嘗試累積經驗。
之后去再看看本地知識庫搭建,然后了解transformer相關內容。