本地部署 langchain-ChatGLM

简介

什么是 langchain-ChatGLM

一种利用 ChatGLM-6B + langchain 实现的基于本地知识的 ChatGLM 应用。增加 clue-ai/ChatYuan 项目的模型 ClueAI/ChatYuan-large-v2 的支持。

本项目中 Embedding 默认选用的是 GanymedeNil/text2vec-large-chinese,LLM 默认选用的是 ChatGLM-6B。

技术原理

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

什么是 langchain

大型语言模型(LLM)正在成为一种变革性的技术,使开发者能够建立他们以前无法建立的应用程序。然而,孤立地使用这些LLM往往不足以创建一个真正强大的应用程序–当你能将它们与其他计算或知识来源相结合时,真正的力量才会出现。这个库的目的是协助开发这些类型的应用。

langchain 使用 Transformer 模型,并在多个语言间建立链式结构实现翻译。比如,它可以通过英语→法语→西班牙语完成英语到西班牙语的翻译。

langchain 只使用公开数据集进行训练,不需要额外的数据。它使用的训练集包括:

  • WMT2014英法翻译数据集
  • WMT2014英德翻译数据集
  • UN翻译语料库

项目地址:https://github.com/imClumsyPanda/langchain-ChatGLM/tree/v0.1.14

快速体验

环境安装

git clone https://github.com/imClumsyPanda/langchain-ChatGLM
cd langchain-ChatGLM
pip install -r requirements.txt
pip install -U gradio
pip install modelscope

启动

python webui.py

启动成功后使用浏览器打开

 http://localhost:7860/

对话界面
在这里插入图片描述
知识测试界面
在这里插入图片描述
模型配置界面
在这里插入图片描述

其他部署方式

API部署

python api.py

成功部署 API 后,执行以下脚本体验基于 VUE 的前端页面
cd views

npm i

npm run dev

命令行部署

python cli_demo.py

模型替换

下载好langchain-ChatGLM模型后,如果有自己的LLM 模型或者Embedding 模型,可以按照以下步骤操作

第一步下载模型

# 安装 git lfs
git lfs install
​
# 下载 LLM 模型
git clone https://huggingface.co/THUDM/chatglm-6b 
​
# 下载 Embedding 模型
git clone https://huggingface.co/GanymedeNil/text2vec-large-chinese
​
# 模型需要更新时,可打开模型所在文件夹后拉取最新模型文件/代码
git pull

第二步修改配置文件

进入langchain-ChatGLM模型目录configs/model_config.py 文件中,对embedding_model_dictllm_model_dict参数进行修改

embedding_model_dict = {
    "ernie-tiny": "nghuyong/ernie-3.0-nano-zh",
    "ernie-base": "nghuyong/ernie-3.0-base-zh",
    "text2vec": "/你的embedding模型目录"
}
​
llm_model_dict = {
    "chatyuan": "ClueAI/ChatYuan-large-v2",
    "chatglm-6b-int4-qe": "THUDM/chatglm-6b-int4-qe",
    "chatglm-6b-int4": "THUDM/chatglm-6b-int4",
    "chatglm-6b-int8": "THUDM/chatglm-6b-int8",
    "chatglm-6b": "/你的llm模型路径",
}

修改完就可以启动了,启动方式同上

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kuokay

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

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

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

打赏作者

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

抵扣说明:

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

余额充值