https://github.com/chatchat-space/Langchain-Chatchat 原Langchain-ChatGLM

大模型工具_Langchain-Chatchat_搜索

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

部署文档