本地部署 langchain-ChatGLM

news/2024/12/19 7:20:02/

简介

什么是 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 inpm 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模型路径",
}

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


http://www.ppmy.cn/news/228646.html

相关文章

计算机主板原则,主板与cpu的搭配原则

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。 主板与cpu的搭配原则如下: 1、兼容性原则:主板接口和CPU接口应相容。英特尔方面现在主流是1155针、2011针接口,AMD方面现在主流是AM3、AM3、FM1和…

计算机主机的拆卸步骤,电脑主板怎么拆CPU 主板拆CPU步骤图文教程

对于很多朋友来说,拆电脑主机内部零件觉得并不是什么难事,但拆主板上的CPU并非易事,搞不好还可能损伤CPU和插槽,CPU与插槽、CPU风扇紧密相连,所以你懂的。每台CPU和CPU风扇的安装不一定相同,但大同小异。下…

计算机主板是cpu吗,主板和cpu是一起的吗

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。 主板和CPU不是同一种部件,电脑主板与cpu是互为独立的配件,一般不是一体的。主板上有cpu插座,cpu是插到主板上的,有一部分主板cpu是焊…

CPU主板调试办法

对于电脑主板来说,CPU供电以后,会通过SPI的方式读取BIOS,BIOS的功能主要是引导,自检,没有问题后会将控制权转交给系统,这里需要注意的是,这个过程在内存中进行,因此板卡的内存通道必…

cpu在计算机的什么位置,cpu在哪?cpu在主板的哪个位置

现在是科技的时代,所以我们每个人身边都是有很多高科技存在的,比如说电脑。我们的工作生活都跟电脑息息相关,所以我们自然要弄懂电脑的各种零件在哪里,比如说cpu在哪这些简单的问题。 cpu 中央处理器(CPU),是电子计算机…

CPU主板架构

在做BIOS开发的时候,我们首先要知道PC主板的架构,这样才能有助于我们更好的去了解BIOS所起到的作用,对BIOS在主板上的功能有一个稍微全面的了解,这样,我们才能够更好的进行BIOS的开发。下面是我所了解的PC架构&#xf…

主板cpu盖板怎么盖回去

主板cpu盖板怎么盖回去,直接按照卡扣方向按下,两边不是有两个凸起吗,一般朝向外边金属锁扣的轴方向,盖好上面的锁扣就行了。有升级CPU或者更换坏CPU、保修主板的需要,因此要拆下CPU。 掀起扣具,然后两指从上下捏住CPU,缓缓拿起,注意要拿稳,否则CPU掉落撞击针脚,很容易…

主板、CPU、显卡中字母的含义

主板 主板是影响电脑好坏的关键硬件之一,目前市场上主板的型号产品众多,主板一般考虑三大方面:主板芯片等级决定其性能的高低,主板板型决定其适用的机箱,而主板接口则关乎兼容性与扩展性。 Intel 主板 Intel 主板芯…