当前位置: 首页 > news >正文

chatGLM3+chatchat实现本地知识库

背景

由于客服存在大量的问题为FAQ问题,需要精准回复客户,所以针对此类精准问题,通过自建同量数量库进行回复。

落地方案

    通过chatGLM3-6B+langchain-chatchat+bge-large-zh实现本地知识库库。

注意:相关介绍和说明请看官网~

配置要求

名称

要求

说明

内存

16G

最好是32G

GPU

英伟达16G

最好是24G

python

3.10


环境搭建

拉取代码

https://github.com/chatchat-space/Langchain-Chatchat.git

安装环境

建议:通过conda 创建专用环境

进入环境然后执行如下

pip install -r requirements.txt 
pip install -r requirements_api.txt
pip install -r requirements_webui.txt

下载模型

#国内源下载(推荐)git lfs installgit clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
git clone https://www.modelscope.cn/AI-ModelScope/bge-large-zh.git
#需要梯子
git lfs installgit clone https://huggingface.co/THUDM/chatglm3-6b
git clone https://huggingface.co/BAAI/bge-large-zh

项目部署

初始化配置

进入项目执行如下命令:

python copy_config_example.py
python init_database.py --recreate-vs

c8f947ccd9953c9908efdaac36471edb.png

然后会在config中生成如下:

794a7dc714b63ee4fe82c032cee9e225.png

文件名称

说明

basic_config.py

基础配置,用于配置日志相关

kb_config.py

向量数据量配置,可配置相关的参数

model_config.py

模型配置,可以在这里配置模型相关信息

prompt_config.py

消息板模配置

server_config.py

服务配置,配置端口及host等

配置修改

model_config.py 修改如下:

MODEL_ROOT_PATH =存放你模型的路劲(不需要指定到模型位置)      

EMBEDDING_MODEL=向量数据库名称(不需要包含路劲)

server_config.py 修改如下:

OPEN_CROSS_DOMAIN = True

项目启动

#前台启动

python startup.py -a

#后台启动

nohup python startup.py>startup.log -a &

访问API接口列表:http://127.0.0.1:20000/docs#/

项止3272f1608482d2bb7cb23408cff10587.png

访问页面:127.0.0.1:8501

e3414a887ec5b3d1c7a14e5c2d546a66.png

最后

    试了最新的chatchat发现这个版本在识别agent中的utils有时生效有时无效,官方也承认有这个问题,建议后续还是用官方的chatGLM3的utils,下次文章再输出。   

相关链接:

    https://github.com/THUDM/ChatGLM3

    https://github.com/chatchat-space/Langchain-Chatchat

http://www.lryc.cn/news/320146.html

相关文章:

  • webpack5零基础入门-11处理html资源
  • el-input设置max、min无效的解决方案
  • C语言经典面试题目(十八)
  • [数据集][目标检测]零售柜零食检测数据集VOC+YOLO格式5422张113类
  • Flask vs. Django:选择适合你的Web开发框架【第134篇—Flask vs. Django】
  • 你能解释一下Spring AOP(面向切面编程)的概念和用法吗?在Spring中,如何使用事务管理?
  • 时序分解 | Matlab实现GWO-CEEMDAN基于灰狼算法优化CEEMDAN时间序列信号分解
  • Spring Boot(七十):利用Jasypt对数据库连接进行加密
  • Mysql设计规范
  • Vue3项目部署安装
  • Oracle P6 Professional 配置连接数据库总结
  • WPF —— Grid网格布局
  • 爬虫的去重
  • elementUI两个select单选框联动
  • 十四、GPT
  • 五款优秀的FTP工具
  • 十八、软考-系统架构设计师笔记-真题解析-2022年真题
  • oracle数据库名、实例名、服务名等区分
  • MQ横向对比:RocketMQ、Kafka、RabbitMQ、ActiveMQ、ZeroMQ
  • html5cssjs代码 018颜色表
  • 力扣刷题Days20-151. 反转字符串中的单词(js)
  • 基于grafana+elk等开源组件的 云服务监控大屏架构
  • PWM驱动舵机
  • 处理Centos 7 中buff/cache高的问题
  • 【送书福利第五期】:ARM汇编与逆向工程
  • STM32的USART能否支持9位数据格式话题
  • OLAP与数据仓库和数据湖
  • zookeeper快速入门三:zookeeper的基本操作
  • oracle 19c打补丁到19.14
  • Spring Boot(六十九):利用Alibaba Druid对数据库密码进行加密