AI 智能对话 - 基于 ChatGLM2-6B 训练对话知识库

news2024/9/24 17:14:56

前情提要

怎么将 AI 应用到工作中呢?比如让 AI 帮忙写代码,自己通过工程上的思维将代码整合排版,我挺烦什么代码逻辑严谨性的问题,但是我又不得不承认这样的好处,我们要开始将角色转换出来,不应该是一个工具人,而成为决策者,这是从 AI 爆发中看到的发展趋势,人们逐渐从流水线的工作中解放出来,逐渐成为可以独立思考的自由人,这是科技革命带给普通人最大的时代红利;

但是从另外一个方面看这个问题的时候,每次科技革命到来时,抓不住时代机会的人总会被淘汰一批,当社会的体制的管理逻辑停滞不前,必然会爆发出不可避免的社会矛盾和流血革命,阶级固化不是理想和口号能解决的,有人做狼必然需要很多羊,这是自然法则,妄图通过口号改变这个规则的要么是空想家要么就是既得利益者,空想家干不成,既得利益者不会干。

只要人类还有欲望,就注定了我们的奴性;第一次知道笑贫不笑娼是在大学的日语课堂上,从那时起我便不再对人性抱太大的希望了,没那么恶就行了。

需求目标

a. 基于"闻达"项目进行改造;
b. 训练目标知识库;
c. 远期规划;

实践操作

1. 下载项目

git clone https://github.com/mateclouder/mate-wenda.git

# 下载相关依赖
cd mate-wenda
pip install -r requirements/requirements.txt

2. 参数配置

将 example.config.yml 复制一个新文件 config.yml ,更改其中参数信息

logging: False
#日志"
port: 17860
#webui 默认启动端口号"
library:
   #strategy: "calc:2 rtst:2 agents:0"
   strategy: "rtst:5 agents:0"
   #库参数,每组参数间用空格分隔,冒号前为知识库类型,后为抽取数量。

   #知识库类型:
   #bing        cn.bing搜索,仅国内可用,目前处于服务降级状态
   #sogowx      sogo微信公众号搜索,可配合相应auto实现全文内容分析
   #fess        fess搜索引擎
   #rtst        支持实时生成的sentence_transformers
   #remote      调用远程闻达知识库,用于集群化部署
   #kg          知识图谱,暂未启用
   #特殊库:
   #mix         根据参数进行多知识库融合
   #agents      提供网络资源代理,没有知识库查找功能,所以数量为0
   #            (目前stable-diffusion的auto脚本需要使用其中功能,同时需开启stable-diffusion的api功能)

   count: 5
   #最大抽取数量(所有知识库总和)

   step: 2
   #知识库默认上下文步长
librarys:
   bing:
      count:
         5
         #最大抽取数量
   bingsite:
      count: 5
      #最大抽取数量
      site: "www.vpc123.cn"
      #搜索网站
   fess:
      #fess版本,默认采用14.8以上
      version: 14.8
      count: 1
      #最大抽取数量
      fess_host: "127.0.0.1:8080"
      #fess搜索引擎的部署地址
   remote:
      host:
         "http://127.0.0.1:17860/api/find"
         #远程知识库地址地址
   rtst:
      count: 3
      #最大抽取数量
      #   backend: Annoy
      size: 20
      #分块大小"
      overlap: 0
      #分块重叠长度
      model_path: "model/m3e-base"
      #向量模型存储路径
      device: cuda
      #embedding运行设备     
llm_type: glm6b
#llm模型类型:glm6b、rwkv、llama、replitcode等,详见相关文件
llm_models: 
  glm6b: 
     path: "model\\ChatGLM2-6B"
     #glm模型位置"
     strategy: "cuda fp16i4"
     #cuda fp16	 所有glm模型 要直接跑在gpu上都可以使用这个参数
     #cuda fp16i8	 fp16原生模型 要自行量化为int8跑在gpu上可以使用这个参数
     #cuda fp16i4	 fp16原生模型 要自行量化为int4跑在gpu上可以使用这个参数
     #cuda:0 fp16 *14 -> cuda:1	fp16 多卡流水线并行,使用方法参考RWKV的strategy介绍。总层数28
   #   lora: "model/lora-450"
     #glm-lora模型位置

3. 知识库训练

知识点: 《伤寒杂病论》

首先在main/txt文件夹下新建了一个名为《伤寒杂病论》的文本文档,进行训练:

数据训练: 双击运行

buils_rtst_default_index.bat

4. 启动运行

** 启动 **

run_GLM6B.bat

** 问答 **

总结

前前后后搞了一周左右,周六早起都在弄这个,这个真的比打游戏好玩多了,虽然我不玩游戏,那种克服困难搞成一件事的愉悦是难以诉说的,人工智能的事情先到此打住,进入备考了,不能沉迷 AI ,不然我就是被她奴役了。

附录

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

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

相关文章

Understanding Cascade Left Joins and Writing Complex Queries

文章目录 a left join b left join cuser casesql query execution order In SQL, the left join is a powerful tool for combining data from multiple tables based on a common column. In this blog post, we will explore the concept of cascade left joins, providing …

面试之MySQL中的mvcc

首先需要知道什么是 MVCC? MVCC 多版本并发控制。MVCC就是通过数据行的多个版本管理来实现数据库的并发控制。这项技术是的InnoDB的事务隔离级别下执行一致性读 有了保证。换言之,就是为了查询一些正在被一个事务更新的行。并且可以看到他们被更新之前的值。查询在…

【excel细碎小知识点】

目录索引 &符号的用法:实例演示: 数字显示和位数的区别:分列功能的妙用:什么叫做常规类型: &符号的用法: **连接字符串:**转化后都是文本字符串类型。你可以通过修改数据类型进行更多可能的操作 实…

高等数学❤️第一章~第二节~极限❤️极限的概念与性质~极限的性质详解

【精讲】高等数学中极限的性质解析 博主:命运之光的主页 专栏:高等数学 目录 【精讲】高等数学中极限的性质解析 导言 一、基本性质 二、四则运算 三、极限存在性 四、唯一性 五、其他性质 必需记忆知识点 例题(用于熟悉高等数学中…

wordpress怎么更改主题自带的页脚或设置不显示?

本文直接提供改原主题代码的方式进行修改 首先我们进入站点的后台,依次点击外观---->主题文件编辑器 然后确定自己的主题是不是想要更改的,之后找到footer.php文件进行修改 可以自己去找一些合适的主题代码复制进去 如果想要不显示,可以…

《面试1v1》大厂的Kafka使用场景

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…

按键控制led变化

文章目录 按键控制led变化一、简介二、代码三、仿真代码四、仿真结果五、总结 按键控制led变化 一、简介 使用按键控制开发板上一个led灯的亮灭,当按键按下的时候led灯就亮,当再一次按下按键的时候led就不亮了。由于按键存在抖动,按键松开的…

linux中常见命令(1)

目录 1. less命令 2. cut 命令 3. head和tail命令 4. awk命令 5. tr命令 6. sed 命令 7. uniq 命令 1. less命令 用法&#xff1a;less [option]<filename>##同时打开多个文件 less <filename1> <filename2> <filename3> 点按“q”退出less。利…

再开源一款轻量内存池

前两天已开源线程池&#xff0c;开源一款轻量线程池项目&#xff0c;本节继续开源另一个孪生兄弟&#xff1a;内存池。 本节的线程池与内存池代码解析会在我的星球详细讲解。 内存池&#xff1a;https://github.com/Light-City/light-memory-pool 线程池&#xff1a;https://gi…

Vue-组件基础(上)

一、目标 能够说出什么是单页面应用程序和组件化开发能够说出.vue单文件组件的组成部分能够知道如何注册vue的组件能够知道如何声明组件的props属性能够知道如何在组件中进行样式绑定 二、目录 单页面应用程序vite的基本使用组件化开发思想vue组件的构成组件的基本使用封装组…

await、async、事件循环(宏任务、微任务队列执行顺序)

1 async、await 2 浏览器进程、线程 3 宏任务、微任务队列 4 Promise面试题解析 5 throw、try、catch、finally 异步函数-异步函数的写法 // 普通函数// function foo() {}// const bar function() {}// const baz () > {}// 生成器函数// function* foo() {}// 异步函…

效果超过deepsort,yolov5+bytetrack

目录 1. Motivation 2. BYTE 3. ByteTrack 4.完整代码实现 ByteTrack: Multi-Object Tracking by Associating Every Detection Box 沿着多目标跟踪&#xff08;MOT&#xff09;中tracking-by-detection的范式&#xff0c;我们提出了一种简单高效的数据关联方法BYTE。 利用…

git : 从入门到进阶(实战问题对策)

目录 0. 前言 1. git stash: 暂时保存本地修改 0. 前言 记录日常git使用过程中碰到的一些常见问题的解决&#xff0c;以及一些常用技巧。作为自己作为git使用者的从入门到进阶的成长过程。不求完备但求简洁实用。动态更新。。。 1. git stash: 暂时保存本地修改 多人工作的项…

Linux自主学习 - 多线程的创建(#include<pthread.h>)

备注&#xff1a;vscode通过ssh连接虚拟机中的ubuntu&#xff0c;ubuntu-20.04.3-desktop-amd64.iso 函数pthread_create() // pthread.h中的函数pthread_create()extern int pthread_create (pthread_t *__restrict __newthread, // 线程标识符const pthread_attr_t *…

【039】掌握Vector容器:C++中最强大的动态数组

掌握Vector容器&#xff1a;C中最强大的动态数组 引言一、vector容器概述二、vector的数据结构三、vector常用的API操作3.1、vector构造函数3.2、vector常用的赋值操作3.3、vector的大小操作3.4、vector存取数据操作3.5、vector插入和删除操作 四、vector的未雨绸缪机制五、巧用…

数据库应用:CentOS 7离线安装PostgreSQL

目录 一、理论 1.PostgreSQL 2.PostgreSQL离线安装 3.PostgreSQL初始化 4.PostgreSQL登录操作 二、实验 1.CentOS 7离线安装PostgreSQL 2.登录PostgreSQL 3.Navicat连接PostgreSQL 三、总结 一、理论 1.PostgreSQL &#xff08;1&#xff09;简介 PostgreSQL 是一个…

vue3 -- mitt 插件使用

介绍 mitt插件是Vue3中的一种第三方总线插件,它可以用于在组件之间进行通信。相比于Vue实例上的EventBus,mitt.js足够小,仅有200bytes,支持全部事件的监听和批量移除,它还不依赖Vue实例,所以可以跨框架使用,React或者Vue,甚至jQuery项目都能使用同一套库 . 使用 1:下载插…

Interactive Image Segmentation

Focused and Collaborative Feedback Integration for Interactive Image Segmentation CVPR 2023 清华 Interactive image segmentation aims at obtaining a segmentation mask for an image using simple user annotations. During each round of interaction, the segment…

windows打开此类文件前总是询问怎么解决

打开此类文件前总是询问怎么解决这个一直提示的问题呢&#xff1f; 下面来教大家一个方法杜绝再提示&#xff1a; 开始 --> 运行 --> gpedit.msc (组策略) --> 用户配置 --> 管理模板 --> windows组件 --> 附件管理器 --> 右击 "中等危险文件类型的包…

再学JavaScript

九、常见的运算符 两个等号只判断值&#xff0c;三个等号判断值和类型是否相等 逻辑运算符 注意&&和& ||和| 短路 赋值运算符 自加自减运算符 三目运算符 移位运算符 十、JavaScript的数据类型转换 假如用默认值10&#xff0c;控制台结果就是1035&#xff08…