探索LangChain-Chatchat 0.3:一体化Agent与强大RAG模型的全面入门指南

1,346 阅读4分钟

介绍

  • LangChain-Chatchat 支持RAG和Agent
  • 0.3版本跟大模型解耦,支持XinferenceOllamaLocalAIFastChatOne API,可以非常方便的切换各个模型,本文只是介绍Xinference
  • Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI 模型的运行和集成。借助 Xinference,您可以使用任何开源 LLM、嵌入模型和多模态模型在云端或本地环境中运行推理,并创建强大的 AI 应用。
  • RAG支持目前基本所有的文本格式和图片
  • 有默认可用的WebUI界面和接口可以自定义二次开发
  • 本文档是LangChain-Chatchat 0.3版本部署在Windows上

效果图

通过效果图先看看是不是你想要的.

  • 基本聊天
  • 知识库的管理,可以传入自己本地的各种知识
  • 外部函数调用
  • 有api文档,支持二次开发 image.png

部署

部署Python项目经常需要通过虚拟环境可以创建多个干净的环境,这里使用的是Conda

Conda 的使用

安装Conda

在安装Conda之前,你可以选择安装Miniconda(最小化的Conda版本)或Anaconda(包含一系列常用包的版本)。以下是安装Miniconda的步骤: 下载地址

配置Conda

Windows系统:

  1. 打开“控制面板” -> “系统与安全” -> “系统” -> “高级系统设置” -> “环境变量”。
  2. 在“系统变量”下新建一个变量名为 CONDA_HOME,值为Conda的安装路径(比如 C:\Users\YourUsername\Miniconda3)。
  3. 编辑“Path”变量,在末尾加上 %CONDA_HOME%\Scripts 和 %CONDA_HOME%
  4. 在命令提示符中输入 conda --version 验证配置是否成功。

常用命令

以下是一些常用的Conda命令,包括初始化、激活、创建环境、删除环境、安装包以及设置缓存路径:

1. 初始化Conda

在安装完Conda后,可以使用以下命令初始化Conda配置:

conda init
2. 激活环境

激活一个已存在的Conda环境:

conda activate myenv
3. 创建环境

创建一个新的Conda环境:

conda create --name myenv python==3.10
4. 删除环境

删除一个已存在的Conda环境:

conda remove --name myenv --all
5. 安装包

在激活的环境中安装包,可以指定版本号:

conda install package_name
conda install package_name=1.0
6. 设置缓存路径

设置Conda包缓存路径,可以通过以下命令设置:

conda config --set pkgs_dirs /path/to/cache/directory
7. 列出所有虚拟环境

要列出所有在Conda中创建的虚拟环境,你可以使用以下命令:

conda env list

Xinference的安装

  • 首先使用Conda创建一个虚拟环境xinf
  • 切换到这个虚拟环境
  • 按照Xinference
  • 需要本地有GPU,才能跑本地模型
conda create -n xinf python==3.10
conda activate xinf
pip install "xinference[transformers]"

Xinference的运行

xinference-local --host 0.0.0.0 --port 9997

根据自己的GPU情况来选择运行那个大模型, 我是8G的显卡内存,选择chatglm3的量化版本可以正常运行,内存比较大的可以选择glm4或者qwen2

运行成功后,可以在浏览器中打开http://127.0.0.1:9997

image.png

选择chatglm3

image.png

设置chatglm3,点击最下面的按钮,他会自动下载模型,可能需要比较长时间.

image.png

后面的RAG需要这个Embedding Model 来完成量化

image.png

Langchain-Chatchat的安装

  • 首先使用Conda创建一个虚拟环境chatchat
  • 切换到这个环境
  • 进行安装
conda create -n chatchat python==3.10
conda activate chatchat
pip install langchain-chatchat -U

可以到Langchain-Chatchat中查看详细的文档

Langchain-Chatchat的运行

  • 前面Xinference安装成功后,就可以运行Chatchat了,先配置自己的模型
chatchat-config model --default_llm_model chatglm3


  • 配置模型平台,我这里遇到些问题,该命令在Windows好像不能执行,我通过修改源码来指定了该平台.
$ chatchat-config model --set_model_platforms "[{
    \"platform_name\": \"xinference\",
    \"platform_type\": \"xinference\",
    \"api_base_url\": \"http://127.0.0.1:9997/v1\",
    \"api_key\": \"EMPT\",
    \"api_concurrencies\": 5,
    \"llm_models\": [
        \"chatglm3\"
    ],
    \"embed_models\": [
        \"bge-large-zh-v1.5\"
    ],
    \"image_models\": [],
    \"reranking_models\": [],
    \"speech2text_models\": [],
    \"tts_models\": []
}]"

  • 初始化知识库
chatchat-kb -r
  • 运行
chatchat -a

运行成功后会调到浏览器打开http://127.0.0.1:8501/

安装过程中遇到的问题

  • 遇到了Xinference UI没有更新成最新版本的问题,可以重新编译UI来解决
  • 遇到Langchain-chatchat在Windows下配置问题,我是自己修改源码解决的,如果有需要可以单独交流
  • 找不到Xinference模型的问题,跟上面类似都是配置问题

欢迎大家使用和关注

仓库地址