保姆级教程!手把手教你从零开始基于 Langchain-Chatchat 搭建本地大模型知识库

在这里插入图片描述

LangChain-Chatchat 基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的 RAG 与 Agent 应用项目,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。

本文我们通过先简单介绍 LangChain-Chatchat 的原理,让大家有个大概认知,然后通过手把手一步一步教大家搭建自己的本地大模型知识库,如下所示就是我们的最终成果,相信通过这篇文章,你也能快速搭建自己的本地大模型知识库!

在这里插入图片描述

一、Langchain-Chatchat 介绍

本项目支持市面上主流的开源 LLM、 Embedding 模型与向量数据库,可实现全部使用开源模型离线私有部署。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。

1、实现原理

本项目实现原理如下图所示,过程包括加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 在文本向量中匹配出与问句向量最相似的 top k个 -> 匹配出的文本作为上下文和问题一起添加到 prompt中 -> 提交给 LLM生成回答。如下图所示

在这里插入图片描述

从文档处理角度来看,实现流程如下:

在这里插入图片描述

2、功能介绍

最新的 0.3.x 版本功能如下列表所示

在这里插入图片描述

0.3.x 版本的核心功能由 Agent 实现,但用户也可以手动实现工具调用:

在这里插入图片描述

3、模型框架支持

本项目中已经支持市面上主流的如 GLM-4-Chat 与 Qwen2-Instruct 等新近开源大语言模型和 Embedding 模型,这些模型需要用户自行启动模型部署框架后,通过修改配置信息接入项目,本项目已支持的本地模型部署框架如下:

在这里插入图片描述

除上述本地模型加载框架外,项目中也为可接入在线 API 的 One API 框架接入提供了支持,支持包括 OpenAI ChatGPT、Azure OpenAI API、Anthropic Claude、智谱清言、百川 等常用在线 API 的接入使用。

二、从零开始上手

1、软硬件要求

💡 软件方面,本项目已支持在 Python 3.8-3.11 环境中进行使用,并已在 Windows、macOS、Linux 操作系统中进行测试。

💻 硬件方面,因 0.3.0 版本已修改为支持不同模型部署框架接入,因此可在 CPU、GPU、NPU、MPS 等不同硬件条件下使用。

2、安装对应库

我们使用 pip 进行 langchain-chatchat 安装,并且采用清华源,具体安装命令如下所示

pip install langchain-chatchat -U -i https://pypi.tuna.tsinghua.edu.cn/simple/

因模型部署框架 Xinference 接入 Langchain-Chatchat 时需要额外安装对应的 Python 依赖库,因此如需搭配 Xinference 框架使用时,需要进行对应的安装:

安装 Chatchat 库,实现模型后处理

pip install "langchain-chatchat[xinference]" -U  -i https://pypi.tuna.tsinghua.edu.cn/simple/

安装 xinference 库,实现模型推理

pip install "xinference[all]" -U -i https://pypi.tuna.tsinghua.edu.cn/simple/

3、xinference

安装完相应的库之后,启动 xinference 以进行模型部署,通过命令行执行

xinference-local --host 0.0.0.0 --port 9997

启动后访问:IP:9997 即可进入 xinference 主界面,如下所示

在这里插入图片描述

选择我们需要部署的模型,比如我这里选择 qwen2-instruct 进行部署。填写相应的参数,进行一键部署。第一次部署会下载模型,可以选择国内阿里达摩院通道 modelscope 下载,速度较快

在这里插入图片描述

下载完成会自动部署,部署完成后,会展示在 Running 中,可以通过打开模型 UI进行访问
在这里插入图片描述
在这里插入图片描述

我们还需要安装一个一个向量模型,我们选择 bge-m3 这个向量模型,安装部署如下所示

在这里插入图片描述

4、初始化项目配置

从 0.3.1 版本起,Langchain-Chatchat 使用本地 yaml 文件的方式进行配置,用户可以直接查看并修改其中的内容,服务器会自动更新无需重启。

(1)设置 Chatchat 存储配置文件和数据文件的根目录(可选)

若不设置该环境变量,则自动使用当前目录。

# on linux or macos
export CHATCHAT_ROOT=/path/to/chatchat_data

# on windows
set CHATCHAT_ROOT=/path/to/chatchat_data

(2)执行初始化

执行初始化命令,生成配置文件

chatchat init

该命令会执行以下操作:

  • 创建所有需要的数据目录
  • 复制 samples 知识库内容
  • 生成默认 yaml 配置文件

在这里插入图片描述

(3)修改配置文件

修改配置模型 model_settings.yaml

# 默认选用的 LLM 名称
 DEFAULT_LLM_MODEL: qwen2-chat

 # 默认选用的 Embedding 名称
 DEFAULT_EMBEDDING_MODEL: bge-m3

# 将 `LLM_MODEL_CONFIG` 中 `llm_model, action_model` 的键改成对应的 LLM 模型
# 在 `MODEL_PLATFORMS` 中修改对应模型平台信息

修改基础配置文件 basic_settings.yaml

# API 服务器地址。其中 public_host 用于生成云服务公网访问链接(如知识库文档链接)
API_SERVER:
  host: X.x.x.x   # 自己服务器IP
  port: 7861      # 自己配置对应端口

# WEBUI 服务器地址
WEBUI_SERVER:
  host: x.x.x.x   # 自己服务器IP
  port: 8501      # 自己配置对应端口

5、初始化知识库在进行知识库初始化前,请确保已经启动模型推理框架及对应 embedding 模型,执行以下命令进行知识库初始化

chatchat kb -r

出现以下日志即为成功:

----------------------------------------------------------------------------------------------------
知识库名称      :samples
知识库类型      :faiss
向量模型::bge-large-zh-v1.5
知识库路径      :/root/anaconda3/envs/chatchat/lib/python3.11/site-packages/chatchat/data/knowledge_base/samples
文件总数量      :47
入库文件数      :42
知识条目数      :740
用时            :0:02:29.701002
----------------------------------------------------------------------------------------------------

总计用时        :0:02:33.414425

6、启动项目执行以下命令启动项目

chatchat start -a

默认地址为:IP:8501,进入 chatchat 前端页面,如下所示,我们就可以与它进行对话问答了!

在这里插入图片描述

如何零基础入门 / 学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

read-normal-img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值