当前位置: 首页 > news >正文

【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 -Upip 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的框架就已经基本搭建完毕了


http://www.mrgr.cn/news/100828.html

相关文章:

  • AI驱动的决策智能系统(AIDP)和自然语言交互式分析
  • systemd和OpenSSH
  • 玩转MCP
  • 逻辑回归之参数选择:从理论到实践
  • 【Unity】MVC的简单分享以及一个在UI中使用的例子
  • 第6次课 贪心算法 A
  • WPF之RadioButton控件详解
  • 全局id生成器生产方案
  • django_rq
  • 用TCP实现服务器与客户端的交互
  • 新闻客户端案例的实现,使用axios获取数据并渲染页面,路由传参(查询参数,动态路由),使用keep-alive实现组件缓存
  • MySQL基础关键_002_DQL(一)
  • string类(详解)
  • ESP32开发-作为TCP服务端接收数据
  • 分组密码算法ShengLooog设计原理详解
  • conda管理python环境
  • ZYNQ笔记(十四):基于 BRAM 的 PS、PL 数据交互
  • 快速搭建对象存储服务 - Minio,并解决临时地址暴露ip、短链接请求改变浏览器地址等问题
  • 希尔伯特第十问题:是一个伪命题
  • 服务容错治理框架resilience4jsentinel基础应用---微服务的限流/熔断/降级解决方案