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 参考