手把手教你搭建本地知识库问答AI机器人

没有知识库喂养的AI,就像一个刚出大学校门的学生,有潜力但很多实际问题无法回答,而经过本地知识库加持的AI,那才是特定领域的专家,可以成为你的良师益友,协助你更好的解答实际问题。

现在的ChatGPT和Claude等AI都支持上传文档回答问题,但不是每个人都能使用。国内的大模型也有文档功能,测试下来效果不是很好。还有一点,不管国内还是国外的AI,允许上传的文档数量有限制,一般只允许上传一个文档提问,Claude属于比较慷慨,大概也只能上传10个文档。

抛开这些不说,知识库是数据,一些敏感的数据,现在大家还不是很放心交给别人,所以搭建一个本地的知识库聊天机器人,是很实际的刚需,尤其对于企业来说,就更是如此。

要在本地搭建一套知识库聊天系统,要做的工作真不少,感谢开源的Langchain-Chatchat,它让这一切变得相当简单。

Langchain-Chatchat既支持开源模型(需要硬件,如A6000),也支持OpenAI等开源模型(需要购买OpenAI的key)。

下面进入正题,手把手教大家基于Langchain-Chatchat,在本地搭建一个知识库聊天系统,把我的实践经验分享给你,避免一些踩过坑。

我使用的硬件和模型信息:

显卡:一块英伟达的A6000

LLM:开源的chatglm3-6b

向量模型:开源的jina-embedding-l-en-v1

向量数据库:开源的milvus

搭建本地知识库,并基于其进行AI聊天,原理和流程如下图:

img

知识库聊天机器人实现流程

环境准备

请注意,我搭建时,langchain-chatchat的版本是v0.2.6,不同的版本,相关的环境可能存在变化。

首先,确保你的机器安装了 Python 3.10

$ python --version
Python 3.10.13

如果未安装3.10,可从官网下载编译安装。

wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz
sudo apt install wget lzma liblzma-dev build-essential libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
mkdir -p /home/xaccel/Documents/chatchat/python310/
./configure --prefix=/home/xaccel/Documents/chatchat/python310/ --with-ssl --enable-optimizations
make
make install
sudo ln -sf ~/Documents/chatchat/python310/bin/python3.10 /usr/bin/python3
sudo ln -sf ~/Documents/chatchat/python310/bin/pip3.10 /usr/bin/pip3

接着,创建一个虚拟环境,并在虚拟环境内安装项目的依赖

# 拉取仓库
$ git clone https://github.com/chatchat-space/Langchain-Chatchat.git
 
# 进入目录
$ cd Langchain-Chatchat
 
#创建虚拟环境
$ python3 -m venv myenv
$ source myenv/bin/activate
 
# 默认依赖包括基本运行环境(FAISS向量库)。如果要使用 milvus/pg_vector 等向量库,请将 requirements.txt 中相应依赖取消注释再安装。
# 我们需要milvus数据库,修改requirements.txt
$ vi requirements.txt
# 找到行:# pymilvus==2.1.3,去除注释
 
# 安装全部依赖
$ pip install -r requirements.txt

安装并运行milvus数据库

注意requirements.txt中的pymilvus版本是2.1.3,所以milvus也需要安装对应的版本,即milvus 2.1.x。

下载milvus 2.1.x

wget https://github.com/milvus-io/milvus/releases/download/v2.1.4/milvus-standalone-docker-compose.yml -O docker-compose.yml

启动向量数据库milvus

sudo docker-compose up -d

下载开源模型

langchain-chatchat支持开源模型和OpenAI等商用模型,我需要开源模型,先将开源大模型下载至本地,通常开源 LLM 与 Embedding 模型可以从 HuggingFace 下载。

以本项目中默认使用的 LLM 模型 THUDM/ChatGLM3-6B 与 Embedding 模型
jinaai/jina-embedding-l-en-v1 为例:

下载模型需要先安装 Git LFS,然后运行

$ git lfs install
 
# 将大模型下载到以下文件夹
$ cd /xrepo/KDB/LLM/ChatMode
 
# 下载大模型
$ git clone https://huggingface.co/THUDM/chatglm3-6b
$ git clone https://huggingface.co/jinaai/jina-embedding-l-en-v1

初始化知识库和配置文件

复制配置文件,并配置步骤二中下载的大模型

$ python copy_config_example.py
 
# 修改模型配置文件
$ vi configs/model_config.py
 
# 设置大模型存放路径
MODEL_ROOT_PATH = "/xrepo/KDB/LLM/ChatMode"
 
# embed_model下增加:
"jina-embedding-l-en-v1":"jinaai/jina-embedding-l-en-v1",
 
# llm_model下增加:
"chatglm3-6b": "THUDM/chatglm3-6b",
 
# 修改默认EMBEDDING_MODEL
EMBEDDING_MODEL = "jina-embedding-l-en-v1"
 
# 修改默认LLM
LLM_MODEL = "chatglm3-6b"

初始化数据库

$ python init_database.py --recreate-vs

一键启动聊天机器人

安装完成,输入以下命令启动

$ python startup.py -a

看到下面画面后,表示正常启动了

img

langchain-chatchat启动画面

在浏览器输入聊天机器人地址:http://127.0.0.1:8561

img

本地知识库聊天机器人

聊天机器人使用说明

打开Web地址后,左侧可看见两个菜单,分别是“对话”和“知识库管理”

1、对话

即和AI聊天对话,可选择对话模式,LLM模型,prompt模板,温度参数设定以及记忆保留次数。对话模式有四个选项:LLM对话、知识库问答、搜索引擎问答、自定义Agent。

img

可选四种对话模式

LLM对话是和大模型直接聊天,基于大模型的通用能力。

知识库问答需要先创建知识库,每次可选择一个知识库进行聊天,切换到知识库问答后,在底部“知识库配置”中选择要对话的知识库。

img

选择对话知识库

搜索引擎问答和自定义Agent,需要进行相应配置和开发,才能使用。

2、知识库管理

切换到知识库管理后,可以查看和删除已创建知识库、新增知识库,也可以对知识库进行文件增减。

img

知识库管理

新建知识库:点击“新建知识库”,输入知识库名称和简介,选择向量数据库和模型,再点击新建即可。

img

新建知识库

上传文件到知识库:选择已创建知识库,选择上传文件,点击“添加文件到知识库”

img

上传文件到知识库

删除知识库/删除知识库文件:见下图

img

删除知识库

创建好知识库后,可以切换菜单到“对话”,选择对话模式为“知识库问答”,并选择要对话的知识库,即可开启和特定知识库聊天。

img

和知识库聊天

大功告成,本地知识库聊天系统搭建完成,想用别的模型,可以直接在界面上切换,大部分开源模型都支持,只要你的硬件够牛~

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

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

一、全套AGI大模型学习路线

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

img

二、640套AI大模型报告合集

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

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值