chatgpt加载自己的知识库 Langchain-ChatGLM:基于本地知识库问答

默认分类4周前发布 admin
12 0
ChatGPT国内版

文章目录

与简介 -6B简介 -6B是什么

-6B地址:

-6B 是⼀个开源的、⽀持中英双语的对话语⾔模型,基于 Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。

-6B 使用了和 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 -6B 已经能生成相当符合人类偏好的回答。

更新 v1.1 版本 , 训练数据增加英⽂

指令微调数据以平衡中英⽂数据⽐例,解决英

⽂回答中夹杂中⽂词语的现象。

-6B具备的能力 -6B具备的应用

大语言模型通常基于通识知识进行训练的,而在

⾯向某些领域的具体场景时,常常需要借助模型微调或提示词⼯程提升语言模型应用效果:

常见的场景如下:

模型微调与提示词工程的区别:

模型微调:针对预训练好的语言模型,在特定任务的数据集上进行进一步的微调训练,需要有标记好的特定任务的数据。

提示工程:核心是设计自然语言提示或指定,引导模型完成特定任务,适合需要明确输出的任务。

简介 是什么

是一个用于开发由语言模型驱动的应用程序的框架。他主要拥有 3个能力:

的核心模块

的核心模块如下:

代理执行过程如下:

的应用场景 与项目介绍 知识库问答实现步骤

基于思想实现基于本地知识库的问答应用。实现过程如下:

1、加载文件

2、读取文本

3、文本分割

4、文本向量化

5、问句向量化

6、在文本向量中匹配出与问句向量最相似的top k个

7、匹配出的文本作为上下文和问题一起添加到中

8、提交给LLM生成回答。

还有另一个版本(本质是一样的)

与项目特点 项目主体结构 项目效果优化方向 项目后续开发计划 与项目实战过程 实战(一)

如果想自己新建一个conda环境进行环境的配置,可以通过下面方式进行操作:

# 激活环境
source activate
# 创建一个python3.8版本的环境
conda create -n langchain python==3.8.13

拉取项目

git clone https://github.com/imClumsyPanda/langchain-ChatGLM.git

进入目录

cd langchain-ChatGLM

安装.txt

conda activate langchain
pip install -r requirements.txt

当前环境支持装的最高版本是0.0.166,无法安装0.0.174,就先装下0.0.166试下。

修改配置文件路径:

vi configs/model_config.py

将-6b的路径设置成自己的。

“-6b”: {

“name”: “-6b”,

chatgpt加载自己的知识库 Langchain-ChatGLM:基于本地知识库问答

“e”: “/data//-6b”,

“”: None,

“”: “”

修改要运行的代码文件:webui.py,

vi webui.py

将最后函数中的share设置为True,设置为True。

执行webui.py文件

python webui.py

可以通过 ip + 端口号的方式在浏览器打开,界面如下:

对应输出:

占用显存情况:大约15个G

实战(二)

项目地址:

社区在线体验:

另外也支持魔搭社区、飞桨社区等在线体验。

下载项目

git clone https://github.com/thomas-yanxin/LangChain-ChatGLM-Webui.git

进入目录

cd LangChain-ChatGLM-Webui

安装所需的包

pip install -r requirements.txt
pip install gradio==3.10

修改.py

init_llm = "ChatGLM-6B"
llm_model_dict = {
    "chatglm": {
        "ChatGLM-6B": "/data/sim_chatgpt/chatglm-6b",

修改app.py文件,将函数中的share设置为True,设置为True。

执行webui.py文件

python webui.py

显存占用约13G。

-0.2.7版本实战

-项目有两个大的版本,即V1和V2,版本2相比版本1的界面进行了优化。但由于-版本的更新迭代速度比较快,这里以0.2.7版本进行实操。

项目地址:

环境配置

拉取仓库

# 拉取指定版本的仓库
git clone https://github.com/chatchat-space/Langchain-Chatchat/tree/v0.2.7.git
# 进入目录
cd Langchain-Chatchat

环境配置与使用

chatgpt加载自己的知识库 Langchain-ChatGLM:基于本地知识库问答

目前七月GPU上已经配置好对应的conda环境,可通过下面命令来激活使用

# 激活环境
source activate
# 进入已配置好的conda环境
conda activate Langchain-Chatchat

如果想自己新建conda环境,并进行环境配置,可以按照下面命令进行操作

# 激活环境
source activate
# 创建一个python3.9版本的环境
conda create -n langchain python==3.9
# 进入目录
cd Langchain-Chatchat
# 安装全部依赖(如果使用已配置好的conda环境,则不需要进行安装)
pip install -r requirements.txt 
pip install -r requirements_api.txt
pip install -r requirements_webui.txt  

模型下载

下载方式:

git clone https://huggingface.co/THUDM/chatglm2-6b
git clone https://huggingface.co/moka-ai/m3e-base

目前上面两个模型都已经下载好了,其中-6b、-6b在/data/下。m3e-base在/data/下。

设置配置项

复制模型相关参数配置模板文件 /.py. 存储至项目路径下 ./ 路径下,并重命名为 .py。

复制服务相关参数配置模板文件 /.py. 存储至项目路径下 ./ 路径下,并重命名为 .py。

可以直接用下面命令:

python copy_config_example.py

在开始执行 Web UI 或命令行交互前,请先检查 /.py 中的各项模型参数设计是否符合需求:

请确认已下载至本地的 以及 模型本地存储路径写在 对应模型位置,如:

MODEL_PATH = {
    "embed_model": {
					"bge-large-zh": "/data/datasets/bge-large-zh",
					"m3e-base": "/data/datasets/m3e-base"}, 
	"llm_model": {
        			"chatglm2-6b": "/data/sim_chatgpt/chatglm2-6b",
        			"chatglm3-6b": "/data/sim_chatgpt/chatglm3-6b",
}}

知识库初始化与迁移

当前项目的知识库信息存储在数据库中,在正式运行项目之前需要先初始化数据库。

python init_database.py --recreate-vs

一键启动

一键启动脚本 .py,一键启动所有 服务、API 服务、WebUI 服务,示例代码:

python startup.py -a

如果想结束,可以使用 Ctrl + C 直接关闭所有运行服务。如果一次结束不了,可以多按几次。

通过ip+端口的方式即可打开:

参考

323AI导航网发布

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...