https://github.com/chatchat-space/Langchain-Chatchat
原Langchain-ChatGLM
1 功能
- 整體功能,想解決什么問題
- 基于 Langchain 與 ChatGLM 等LLM模型,搭建一套針對中文場景與開源模型,界面友好、可離線運行的知識庫問答解決方案。
- 當前解決了什么問題,哪些問題解決不了
- 目前 0.2.8 版本支持了多個本地模型
- 因為加入了大模型,配置難度相對較大
- 提供哪些功能點,其中哪些是剛需
- 核心功能是:支持中文&離線知識庫與問答系統
- 同時支持搜索實時數據,以及對其它在線大模型的調用,整體功能豐富。
- 用戶使用難度,操作邏輯是否過于復雜
- 工具鏈做得很好,不需要太多配置
2 技術棧
- 技術棧是什么:
- 前端使用 python streamlit 實現
- 知識庫使用 langchain 構建
- 現有底層工具消化了哪些常用功能
- FastChat:用于大模型支持
- langchain:用于構建本地知識庫
- ChatGLM:中文 LLM 模型
- HuggingFace 中各種開源 Emebdding 模型,以及線上Embedding
- Streamlit:Web界面
- 搜索引擎:Bing 搜索,DuckDuckGo 搜索,Metaphor 搜索
- 向量庫支持:es, pgsql, faiss, milvus, zilliz等
- 代碼分析(使用cloc工具統計)
- github 項目下載 137M,其中一半為.git,還包含一些 nltk data
- 代碼:Python 10709行,JS 1604 行。
- docker image: 41.3 G,以為自己看錯了;鏡像較大主要由于其中包含了 chatglm2-6b 和 Embedding 模型,以及 torch, cuda 庫;還有一些安裝過程中的數據沒刪除。
- 核心代碼在:源碼/server/ 目錄下
3 商業模式
- 以本地部署為主
4 環境測試
- 下載源碼
$ git clone https://github.com/chatchat-space/Langchain-Chatchat
- Docker鏡像
直接下載可用的docker鏡像
$ docker run -d --gpus all -p 8051:8501 registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.7
我的顯存不夠報錯,本地部署大模型,建議 20G以上顯存
啟動鏡像并進入手動調試:
$ docker run -it --gpus all --network=host --entrypoint bash registry.cn-beijing.aliyuncs.com/chatchat/chatchat:0.2.7
$ python3 startup.py -a --lite # 啟動輕量版本
注意:配置文件都在 configs 目錄下,按需參照 example 配置 py文件,請重點關注:configs/model_config.py 模型配置。
5 參考
部署文檔