在windows10下的安裝部署
參考資料
1.LacnChain-Chatchat項目
基礎(chǔ)環(huán)境準(zhǔn)備
本人使用的是Windows10專業(yè)版22H2版本,已經(jīng)安裝了Python3.10,CUDA11.8版本,miniconda3。
硬件采用聯(lián)想R9000P,AMD R7 5800H,16G內(nèi)存,RTX3060 6G。
安裝依賴
# 使用conda安裝激活環(huán)境
conda create -n Langchain-Chatchat python=3.10
conda activate Langchain-Chatchat
# 拉取倉庫
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
# 進(jìn)入目錄
cd Langchain-Chatchat
# 安裝全部依賴
pip install -r requirements.txt
默認(rèn)依賴包括基本運行環(huán)境(FAISS向量庫)。如果要使用 milvus/pg_vector 等向量庫,請將 requirements.txt 中相應(yīng)依賴取消注釋再安裝。
此項目分為LLM服務(wù),API服務(wù)和WebUI服務(wù),可單獨根據(jù)運行需求安裝依賴包。
如果只需運行 LLM服務(wù)和API服務(wù),可執(zhí)行:
pip install -r requirements_api.txt
如果只需運行 WebUI服務(wù),可執(zhí)行:
pip install -r requirements_webui.txt
注:使用 langchain.document_loaders.UnstructuredFileLoader
進(jìn)行 .docx
等格式非結(jié)構(gòu)化文件接入時,可能需要依據(jù)文檔進(jìn)行其他依賴包的安裝,請參考 langchain 文檔。
下載模型
Langchain-Chatchat支持的開源 LLM 與 Embedding 模型,如果使用在線LLM服務(wù),如OpenAI的API,則請直接查看下一節(jié)。
如果需要本地或離線LLM服務(wù),則需要下載模型,通常開源 LLM 與 Embedding 模型可以從 HuggingFace 下載。
因為我的顯卡為RTX3060,只有6G的顯存,所以我使用的 LLM 模型 THUDM/chatglm2-6b-int4 與 Embedding 模型 moka-ai/m3e-base。
下載模型需要先安裝Git LFS,然后運行
git clone https://huggingface.co/THUDM/chatglm2-6b-int4
git clone https://huggingface.co/moka-ai/m3e-base
如果你的網(wǎng)絡(luò)不好,下載很慢,chatglm2-6b相關(guān)模型,推薦以下的方式
1.僅從Huggingface上下載模型實現(xiàn),不下載LFS模型文件
# 只獲取倉庫本身,而不獲取任何 LFS 對象
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/THUDM/chatglm2-6b-int4
2.從清華云盤下載模型參數(shù)文件,放到本地chatglm2-6b倉庫下
修改配置項
修改模型相關(guān)參數(shù)配置文件
復(fù)制一份模型相關(guān)參數(shù)配置模板文件 configs/model_config.py.example,并重命名為 model_config.py
- 修改本地LLM模型存儲路徑。
如果使用本地LLM模型,請確認(rèn)已下載至本地的 LLM 模型本地存儲路徑寫在 llm_model_dict 對應(yīng)模型的 local_model_path 屬性中,如:
llm_model_dict={
"chatglm2-6b-int4": {
"local_model_path": "D:\\Langchain-Chatchat\\chatglm2-6b-int4", # "THUDM/chatglm2-6b-int4",
"api_base_url": "http://localhost:8888/v1", # "URL需要與運行fastchat服務(wù)端的server_config.FSCHAT_OPENAI_API一致
"api_key": "EMPTY"
},
}
默認(rèn)模板中沒有提供llm_model_dict中,沒有chatglm2-6b-int4模型,需要自己添加。
- 修改在線LLM服務(wù)接口相關(guān)參數(shù)
如果使用在線LLM服務(wù),類OpenAi的API,需在llm_model_dict的gpt-3.5-turbo模型,修改對應(yīng)的API地址和環(huán)境變量中的KEY,或新增對應(yīng)的模型對象。
llm_model_dict={
"gpt-3.5-turbo": {
"local_model_path": "gpt-3.5-turbo",
"api_base_url": "https://api.openai.com/v1",
"api_key": os.environ.get("OPENAI_API_KEY")
},
}
- 修改使用的LLM模型名稱
根據(jù)上述新增或修改的模型名稱,修改LLM_MODEL為使用的模型名稱
# LLM 名稱
LLM_MODEL = "chatglm2-6b-int4"
- 修改embedding模型存儲路徑
請確認(rèn)已下載至本地的 Embedding 模型本地存儲路徑寫在 embedding_model_dict 對應(yīng)模型屬性中,如:
embedding_model_dict = {
"m3e-base": "D:\\Langchain-Chatchat\\m3e-base",
}
- 其他修改項,可根據(jù)配置文件中的注釋,自行進(jìn)行修改。
修改服務(wù)相關(guān)參數(shù)配置文件
復(fù)制服務(wù)相關(guān)參數(shù)配置模板文件 configs/server_config.py.example,并重命名為 server_config.py。
- 修改服務(wù)綁定的IP和端口
根據(jù)實際情況,修改DEFAULT_BIND_HOST屬性,改為需要綁定的服務(wù)IP
# 各服務(wù)器默認(rèn)綁定host
DEFAULT_BIND_HOST = "10.0.21.161"
知識庫初始化
如果您是第一次運行本項目,知識庫尚未建立,或者配置文件中的知識庫類型、Embedding模型發(fā)生變化,需要以下命令初始化或重建知識庫:
python init_database.py --recreate-vs
啟動服務(wù)
啟用LLM服務(wù)
如果啟動在線的API服務(wù)(如 OPENAI 的 API 接口),則無需啟動 LLM 服務(wù),如需使用開源模型進(jìn)行本地部署,需首先啟動 LLM 服務(wù),參照項目部署手冊,LLM服務(wù)啟動方式有三種,我們只選擇其中之一即可,這里采用的是基于多進(jìn)程腳本 llm_api.py 啟動 LLM 服務(wù)
在項目根目錄下,執(zhí)行 server/llm_api.py 腳本啟動 LLM 模型服務(wù):
python server/llm_api.py
啟用API服務(wù)
執(zhí)行server/api.py 腳本啟動 API 服務(wù)
python server/api.py
啟動 API 服務(wù)后,可訪問 localhost:7861 或 {API 所在服務(wù)器 IP}:7861 FastAPI 自動生成的 docs 進(jìn)行接口查看與測試。
啟用webui服務(wù)
啟動 API 服務(wù)后,執(zhí)行 webui.py 啟動 Web UI 服務(wù)(默認(rèn)使用端口 8501)
streamlit run webui.py
使用 Langchain-Chatchat 主題色啟動 Web UI 服務(wù)(默認(rèn)使用端口 8501)
streamlit run webui.py --theme.base "light" --theme.primaryColor "#165dff" --theme.secondaryBackgroundColor "#f5f5f5" --theme.textColor "#000000"
或使用以下命令指定啟動 Web UI 服務(wù)并指定端口號文章來源:http://www.zghlxwxcb.cn/news/detail-670727.html
streamlit run webui.py --server.port 666
啟動成功進(jìn)行訪問
文章來源地址http://www.zghlxwxcb.cn/news/detail-670727.html
到了這里,關(guān)于LangChain-Chatchat學(xué)習(xí)資料-Windows開發(fā)部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!