ChatGLM系列七:LangChain+ChatGLM-6B

背景介绍

在开发过程中,我们经常会遇到需要构建基于本地知识库的问答系统的问题。这种系统需要能够根据用户提供的问题,在本地的知识库中查找并返回相关答案。然而,要实现这样的功能并不容易,涉及到语言模型的选择、知识库的管理以及问答的匹配和检索等核心问题。

今天要给大家推荐一个 GitHub 开源项目 imClumsyPanda/langchain-ChatGLM,该项目在 GitHub 有超过 13.5k Star,用一句话介绍该项目就是:“langchain-ChatGLM, local knowledge based ChatGLM with langchain | 基于本地知识库的 ChatGLM 问答”。
在这里插入图片描述

项目介绍

langchain-ChatGLM 提供了一种基于本地知识库的 ChatGLM(Chat with Generative Language Model)问答系统。该项目结合了langchain和ChatGLM-6B模型的思想,旨在构建一个可灵活应用于中文场景的开源问答系统。通过langchain-ChatGLM,我们可以轻松地将开源的语言模型与本地知识库相结合,实现对中文问答的支持。
在这里插入图片描述

langchain-ChatGLM的主要功能包括:

• 基于本地知识库的问答:系统可以根据用户的提问,在本地的知识库中进行搜索,并返回相关的答案。

• 多模型支持:项目支持使用不同的语言模型,可以根据需求选择合适的模型进行使用。

• 离线私有化:可以将该问答系统部署在本地环境中,确保数据的安全性和隐私性。
在这里插入图片描述
WebUI 知识库管理页面:
在这里插入图片描述

下载代码和模型

git clone https://github.com/ExpressGit/langchain-ChatGLM.git
git clone https://huggingface.co/THUDM/chatglm-6b autodl-tmp/models_data/chatglm-6b
git clone https://huggingface.co/GanymedeNil/text2vec-base-chinese autodl-tmp/models_data/text2vec-base-chinese

安装依赖

pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple
pip install protobuf==3.20.1
pip install peft
pip install --upgrade gradio
git lfs install

修改配置文件

在langchain-ChatGLM/configs/model_config.py中修改Embedding模型地址:

embedding_model_dict = {"ernie-tiny": "nghuyong/ernie-3.0-nano-zh","ernie-base": "nghuyong/ernie-3.0-base-zh","text2vec-base": "/root/autodl-tmp/models_data/text2vec-base-chinese","text2vec": "GanymedeNil/text2vec-large-chinese",
}

在langchain-ChatGLM/configs/model_config.py中修改LLM模型名称和地址

LLM_MODEL = "chatglm-6b"
NO_REMOTE_MODEL = True
MODEL_DIR = "/root/autodl-tmp/models_data/"

在langchain-ChatGLM/webui.py中修改端口号为6006。

server_port=6006,

启动

python webui.py

langchain-ChatGLM WebUI成功部署,就可以导入自己的知识库进行测试了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/120477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vsan数据恢复—Vsan存储断电导致虚拟机无法启动的数据恢复案例

Vsan分布式存储故障&检测: 异常断电导致一台vsan存储设备上层虚拟机无法启动。 将故障Vsan存储上的所有磁盘编号后取出,由北亚企安的硬件工程师对vsan存储上的所有硬盘进行物理故障检测,经过检测没有发现硬盘存在物理故障。 vsan存储结构…

问界新M7也扛起“遥遥领先”大旗,华为究竟做对了什么?

循着时间脉络,华为似乎正在实现全方面的“遥遥领先”。 继Mate 60系列手机产品的强势回归之后,华为参与的汽车项目也登上了“热搜榜”。近段时间,问界新M7正处于“卖爆”状态。 据了解,2023年9月12日,华为发布了问界…

公网IP怎么设置?公网ip有哪些优点和缺点?

随着互联网的普及,越来越多的人开始关注网络安全和隐私保护。其中,公网IP的设置成为了一个备受关注的话题。本文将详细介绍公网IP的设置方法以及公网IP的优点和缺点。 一、公网IP设置方法 1. 路由器设置 在家庭或企业网络中,路由器通常是最重…

vue3实现一个滚动分页加载瀑布流列表

项目框架:vue3JSvite 瀑布流框架:vue-waterfall-next 问了chatGPT,对于vue3有哪些好用的瀑布流插件,回答如下: 对于 Vue 3,有一些瀑布流插件可供选择。以下是几个常用的 Vue 3 瀑布流插件: vue…

day44

什么是前端 前端是所有跟用户直接打交道的都可以称之为是前端 比如:pc页面、手机页面、平板页面、汽车显示屏等等显示出来的都是前端内容 什么是后端? 就是一堆代码,用户不能够直接看到,不直接与用户打交道的都是后端 常见的后端…

【Linux】开发工具

目录 Linux编译器-gcc/g使用执行命令:我们的.o和库是如何链接的? make/Makefile依赖关系、依赖方法 Linux编译器-gcc/g使用 gcc只能编译c语言,g可以编译c语言也可以编译g 背景知识: 预处理(进行宏替换)编译(生成汇编)…

荣耀推送服务消息分类标准

前言 为了提升终端用户的推送体验、营造良好可持续的通知生态,荣耀推送服务将对推送消息进行分类管理。 消息分类 定义 荣耀推送服务将根据应用类型、消息内容和消息发送场景,将推送消息分成服务通讯和资讯营销两大类别。 服务通讯类,包…

JS清除字符串中的空格

一、replace()方法 replace方法在字符串中搜索值或正则表达式,返回已替换值的新字符串,不会更改原始字符串。 去除字符串内所有的空格:str str.replace(/\s*/g,“”) 去除字符串内两头的空格:str str.replace(/^\s*|\s*$/g,“…

Mac怎么清理磁盘空间?释放Mac磁盘空间有效方法

相信很多使用macOS系统的小伙伴都收到过提示“磁盘空间已满”消息,尤其是采用SSD固态硬盘的MacBook系列,120G的硬盘空间本就捉襟见肘,使用一段时间后,即使自己没有存放很多大文件, Mac的磁盘很快就满了。那么&#xff…

使用python实现http协议的方法

要使用Python编写一个接口,其入参格式为x-www-form-urlencoded,你可以使用requests库。requests库是一个流行的HTTP库,它使得发送HTTP请求变得非常简单。 下面是一个简单的示例,展示如何使用requests库发送一个POST请求&#xff…

【面试经典150 | 链表】两数相加

文章目录 写在前面Tag题目来源题目解读解题思路方法一:模拟 其他语言python3 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到…

全栈经验总结(不间断更新)

1.当后端传回来的值为列表套字典[{"id":1,"num":"1"},{"id":2"num":"3"}]&#xff0c;如果要在vue3里面渲染图片&#xff0c;可以这样操作 <el-form-item label"图片&#xff1a;"><el-uploa…

IDEA运行项目报错:Command line is too long的解决办法

文章目录 1.报错现象2.解决办法验证3.最佳实践4.问题原因5.参考文献1.报错现象 在idea中启动一个spring cloud项目时,编译完成后直接报错,报错内容如下: Error running XXXApplication:Command line is too long. Shorten command line for XXXApplication or also for Sp…

升级 Xcode 15模拟器 iOS 17.0 Simulator(21A328) 下载失败

升级 IDE Xcode 15 后本地模拟器 Simulator 全被清空,反复重新尝试 Get 下载频频因网络异常断开而导致失败 ... 注:通过 Get 方式下载一定要保证当前网络环境足够平稳,网络环境不好的情况下该方法几乎成不了 解决办法 Get 方式行不通可以尝试通过 官网 途径先下载 模拟器安装包…

大模型 | NEFTune之引入随机噪声对大模型训练的收益

大模型 | NEFTune之引入随机噪声对大模型训练的收益 paper中提到&#xff0c;在模型foward过程中&#xff0c;对inputs_embedding增加适度的随机噪声&#xff0c;会带来显著的收益。 Paper: https://arxiv.org/pdf/2310.05914.pdf Github: https://github.com/neelsjain/NEFT…

Centos7 安装 Etcd

Github上下载并解压安装包 wget https://github.com/coreos/etcd/releases/download/v3.4.10/etcd-v3.4.10-linux-amd64.tar.gz tar xzvf etcd-v3.4.10-linux-amd64.tar.gz mv etcd-v3.4.10-linux-amd64 /opt/etcd解压后是一些文档和两个二进制文件etcd和etcdctl。etcd是serve…

网络攻击的发展

在当今数字化时代&#xff0c;网站被攻击已经成为常态&#xff0c;网络威胁愈演愈烈。这些攻击不仅威胁到企业的安全&#xff0c;还可能导致严重的商业危机。本文将探讨为什么网络流量攻击变得如此普遍和容易&#xff0c;并分析未来可能引发的商业危机。 ​ 网络流量攻击的普遍…

【OpenCV实现图像的几何变换】

文章目录 概要&#xff1a;OpenCV实现图像的几何变换、图像阈值和平滑图像变换小结 概要&#xff1a;OpenCV实现图像的几何变换、图像阈值和平滑图像 使用OpenCV库进行图像处理的三个重要主题&#xff1a;几何变换、图像阈值处理以及图像平滑。在几何变换部分&#xff0c;详细…

【Linux精讲系列】——yum软件包管理

​作者主页 &#x1f4da;lovewold少个r博客主页 ⚠️本文重点&#xff1a;Linux系统软件包管理工具yum讲解 &#x1f604;每日一言&#xff1a;踏向彼岸的每一步&#xff0c;都是到达彼岸本身。 目录 前言 Linux系统下的软件下载方式 yum 查看软件包 如何安装软件 如何卸…

myTracks for Mac:GPS轨迹记录器的强大与便捷

你是否曾经在户外活动或旅行中&#xff0c;希望能够记录下你的移动轨迹&#xff1f;或者在工作中&#xff0c;需要跟踪你的行程路线&#xff1f;myTracks for Mac 是一款强大的 GPS 轨迹记录器&#xff0c;它可以帮助你实现这些愿望。 myTracks 是一款专门为 Mac 设计的 GPS 轨…