【RAG 框架部署】LangChain-Chatchat (原 Langchain-ChatGLM) + Ollama

目录

前言

一、什么是RAG?

二、环境准备和Ollama搭建

1、conda虚拟环境配置

2、Ollama搭建

三、LangChain-Chatchat搭建

1、框架安装 

2、文件配置 

3、初始化知识库

4、启动Langchan-Chatchat


前言

        由于LangChain-Chatchat的 0.3.0 版本已修改为支持不同模型部署框架接入,因此可在 CPU、GPU、NPU、MPS 等不同硬件条件下使用。本文用机位轻薄本,仅核显。

一、什么是RAG?

        所谓RAG即Retrieval-Augmented Generation,检索增强生成。简言之就是检索、增强、生成,主要用于在大规模外部知识库(如文档库、网页、数据库等)中查找相关内容,并将这些检索到的信息作为上下文,输入给生成式模型,以获得更准确、丰富且可控的生成结果。

二、环境准备和Ollama搭建

1、conda虚拟环境配置

        具体安装配置步骤参考YOLO系列环境配置及训练-CSDN博客 

下载配置完成之后,我们进入Anaconda Prompt,同时利用如下命令创建虚拟环境Langchain:

        

conda create -n Langchain python=3.9

注意:Langchain-Chatchat已支持在Python 3.8-3.11 环境中进行使用,所以版本可以自己选择 

2、Ollama搭建

        我们进入Ollama的github项目界面,下拉找到需要的版本点击即可下载,例如我的是windows

安装完成之后,Ollama会出现在电脑右下角的图标中,为标志羊驼,之后我们以管理员身份运行cmd

 

 接下来我们需要安装Ollma必要的模型quentinz/bge-large-zh-v1.5 和 bge-m3,其中quentinz/bge-large-zh-v1.5 主要支持中文,bge-m3则支持支持 100 多种工作语言。地址为:library

 两个模型的下载命令分别为:

ollama pull bge-m3
ollama pull quentinz/bge-large-zh-v1.5

回到刚才以“管理员身份运行”打开的cmd,进行模型拉取,出现如下输出视为成功:

三、LangChain-Chatchat搭建

         完成上述环境配置后,我们开始搭建LangChain-Chatchat。LangChain-Chatchat的git仓库地址为:chatchat-space/Langchain-Chatchat: Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain

1、框架安装 

 首先激活本文开始前创建的虚拟环境Langchain,之后将路径cd至你自己选择的一个目录:

conda activate Langchain

接着安装 Langchain-Chatchat

pip install langchain-chatchat -U

pip install httpx==0.27.2 -U

注意: 重新安装对应的httpx是为了防止报错 [BUG] httpx包版本错误 · Issue #5115 · chatchat-space/Langchain-Chatchat

设置 Langchain-Chatchat 存储配置文件和数据文件的根目录(可选),不选的话就是默认存在当前路径:

set CHATCHAT_ROOT=/Langchain

执行如下命令初始化,出现如下输出视为成功:

chatchat init

2、文件配置 

找到刚才初始化存放文件的位置,例如我的为D:\Langchain,找到model_settings.yaml

我们先设置DEFAULT_LLM_MODELDEFAULT_EMBEDDING_MODEL,本文使用deepseek的R1模型API进行配置

 找到 platform_type并启用,修改它的值:

 找到MODEL_PLATFORMS,修改它的auto_detect_model参数,设置为false,并配置embed_models

下拉文件,找到openai,修改api_base_url、api_keyllm_models:

 api_key为你自己申请的deepseek的密钥,具体申请路径如下:进入官网右上角API平台

 所有配置完成后,保存并关闭model_settings.yaml

3、初始化知识库

回到虚拟环境Langchain的命令行操作界面,执行

chatchat kb -r

等待一段时间后,出现如下界面视为成功:
 4、启动Langchan-Chatchat

在当前命令行继续执行如下命令:

chatchat start -a

你的默认浏览器会打开如下界面,若出现如下界面视为成功:

测试下对话功能 

之后也可以在“知识库管理”上传需要的知识库进行补充 至此,RAG的框架就已经基本搭建完毕了

### 部署 Langchain-Chatchat 为了在本地成功部署 Langchain-Chatchat,需遵循一系列特定指令来设置开发环境并运行应用程序。 创建名为 `chatchat` 的 Conda 虚拟环境,并指定 Python 版本为 3.11[^1]: ```bash conda create --name chatchat python=3.11 ``` 激活此虚拟环境后,在目标目录下克隆 LangChain-chatchat GitHub 仓库: ```bash conda activate chatchat cd /opt/module/ git clone https://github.com/chatchat-space/Langchain-Chatchat.git ``` 随后,利用 `pip` 安装最新版本的 langchain-chatchat 及其依赖项,包括支持 Xinference 功能所需的额外组件[^3]: ```bash pip install -U "langchain-chatchat[xinference]" ``` 值得注意的是,Langchain-Chatchat 是一个基于大型语言模型(如 ChatGLM)以及应用框架构建而成的支持 RAG 和代理功能的应用程序项目,具备开源特性且能够离线部署[^4]。 对于某些情况下可能出现的问题,比如由于 CUDA 不兼容引发错误的情况,建议确认所使用的 CUDA 版本满足最低要求——通常推荐使用较新版本以获得更好的稳定性和支持。如果遇到与 GPU 加速有关的具体技术难题,则应确保已正确配置 CUDA 环境变量,并考虑升级至更高版本的 CUDA 来解决问题[^5]。 #### 注意事项 - **Python 版本**:确保选择了合适的 Python 解释器版本。 - **CUDA 兼容性**:验证硬件加速库(例如 CUDA)是否与当前系统匹配。 - **依赖管理**:始终从官方源获取软件包,保持依赖关系表的一致性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸢想睡觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值