hi~
上一篇,我们搭建了本地的知识库应用:fastgpt!然后给知识库搭好了桥(one api),并且把本地部署的大模型Qwen-14B接入了知识库!
并且完成了嵌入模型的部署!大模型+知识库完全体搞掂!
今天开始
跟着雄哥动手,由浅到深,把知识库搭建出来!
整体项目是这样的!
我们在纯本地的环境搭建,涉及垂类大模型+嵌入模型的部署、docker部署,都搞掂后!
使用知识库应用去搭建本地私有的知识库!
现在市场上已有大量的知识库/文档对话产品了,学会了这个部署,你基本了解到整个企业知识库部署的过程!内容如下:
day17:动手本地部署ONE-API管理工具,与知识库打通!【已更新】
day18:与知识库对话!部署Qwen-7B/14B,用API接入知识库!【已更新】
day19:与知识库对话!部署ChatGLM3-6B,用API接入知识库!【已更新】
day20:本地部署M3e嵌入模型!接入知识库,完全体!大功告成!【已更新】
day21:快速上手!3分钟动手搭建私有的知识库!【本篇】
day22:进阶!三种数据处理办法,提高知识库性能!
day23:进阶!知识库可视化高级编排!
day24:进阶!自定义内容,不该说的一句不说,只聊指定内容!
day25:按部门/学科,建立知识库并分发给对应部门使用
一边做一边看大家反馈,有不清楚的,雄哥再补充!
ok!人的专注力只有10分钟!那,话不多说!
本篇在win11系统完成,需要docker+WSL子系统(非wsl不稳定)!
星球的伙伴学完【7天精通docker】,可以直接上手!
还没来得及学的,可以在星球先学!
点击申请加入知识星球https://t.zsxq.com/15XR5BKhd
如果你还没加星球,那你一定要加啦!联系小胖参加 ‘团购’ 活动!
这个过程,任何报错,也可以找他!或者加入交流群!
最近我们在跑Agent项目,回复可能有点慢!
整个过程非常的简单!
① 日常启动知识库方法
② 新建知识库的基操+技巧
③ 基于知识库做四种应用,对话/分类/引导
④ 把你的第一个知识库分发给同事用吧
第一部分:日常启动知识库方法
跟着之前雄哥几篇内容,成功把知识库搭建好了!
现在,我们要启动知识库!
纯本地!
整个启动仅两步!
docker+本地大模型启动!
我们的电脑上
miniconda部署了:qwen-14B大模型
docker部署了:m3e嵌入模型+one api+fastgpt知识库应用
现在,跟着雄哥先启动本地部署的qwen-14B!
打开命令窗,依次输入以下:
进入qwen的miniconda虚拟环境中!不懂的回看之前雄哥的教程!
conda activate qwen
进入启动文件的目录!
cd qwen
运行启动脚本!
python openai_api.py
成功启动!
现在打开docker,看到这几个应用都是绿色的,就成功启动了!如果没启动,按以下右上角启动即可!
现在点击Fastgpt的端口‘3000:3000’,会自动跳转到浏览器!
输入账号密码,登录成功!
第二部分:新建知识库的基操+技巧
在开始之前,雄哥跟各位小朋友说句话!
这是一个本地APP!放开你的手脚!大胆探索!
不会产生任何扣费,更不会损坏你的知识库!大不了重做,也很快!
OK!
跟着雄哥继续!点开‘知识库’,新建一个知识库!
这里的logo是可以换的!嵌入模型选择m3e,这是干向量数据的模型!
文件处理模型是之后生成QA问答对用的,我们纯本地,改一下,否则就用不到QA问答数据生成咯!配置文件可以改!
好!新建完啦?
这个知识库一定要按部门、科室、学科等不同的功能/作用分别建立,千万别全部东西丢进去!
你可以根据公司的职能,新建N个不同部门的知识库,专门放对应部门的文本数据!
以后你分发给对应部门,或者干对应任务的时候,信手拈来!知识库也可以叠加!
注意!!
上面我们新建了各部门的知识库是吧?
现在我们要导文本数据进去!点右上角‘新建/导入’,就可以选文件了!
文件支持 .txt, .doc, .docx, .pdf, .md 格式!一次最多导入10个!
他这里支持三种导入方式!
#A 直接分段:按字数分段拆分,默认700字就拆成一块,你也可以自定义,可以500或其他!这里肯定会有破坏数据完整的了!
雄哥在10天langchain课程中,有做多种拆分方法演示,有按段落、字数、token等等!根据数据去做拆分方案,大大增加数据正确召回率!
雄哥一般做知识库项目时,会根据数据的实际情况,用不同的拆分方法!确保较高的数据召回准确率和速度!在星球可以深入学习!
点击申请加入知识星球https://t.zsxq.com/15XR5BKhd
#B QA拆分:这里它会先分段,本地的qwen-14B根据文本数据的分段,做QA问答!最后打包成你的知识库内容!
这种方法可以提高召回准确率,但是可能会改变本地的文本数据语义,导致知识库失准!至于准确率多少,完全取决于你的模型能力!除非用到GPT4,否则不建议用这个!
#C CSV导入:看名字就知道了,他有一个默认的数据模板的,如果你原先已有这样的数据,那一定要按照这个方法导入,这是准确率最高的格式!但如果你之前没有这样的数据格式,生产这个数据集会花费大量时间+人工!
好啦!点确定导入!
非常快,因为用了GPU部署的m3e,几秒钟导入成功!
第三部分:基于知识库做应用,对话/分类/引导/变量
知识库搭建好了!我们要把这个知识库装到一个应用里,用起来是吧?
现在!跟着雄哥去到应用!搭建你的第一个应用吧!
这里有四种对话:简单对话、知识库+引导、引导+变量、分类+知识库!
有什么区别?输出格式不同!
你可以理解他们分别是4种已经配置好的模板!你只需要更改内容就可以快速上手,免去自定义的过程!
#A 简单对话:看这个名字就知道啦!没有过多功能,可以直接与大模型对话!也可以与知识库对话,稍后我们也是用它来做第一个应用,但它也可以设定系统提示词的,也可以启用高级编排。
#B 知识库+引导:这里可以选择知识库,它默认已经帮你编排好知识库的链了,直接选择知识库就可以用上!
#C 引导+变量:在这里可以预设一个或几个变量,让用户根据变量的内容构成提示词,给大模型做回答,这里以翻译助手的截图,大家一看就懂了!以后的高级编排时,雄哥会着重来拓展这个应用!
# 问题分类+知识库:这里,知识库会将用户发起的提问,进行分类,这是跟知识库对话?还是跟大模型直接交互呢?用户发送过来的一段话中,可能有多种问题/需求,这里会做一个问题分类,如果打招呼/问好之类问题可以指定模型直接回答!如果是查询知识库的内容,拆出来,检索知识库回答!如果要查询股票/天气,拆出来指定tools来完成!
一句话!功能强大!后面高级编排会详细说怎么用!
第四部分:构建第一个知识库,发给同事使用!
上面我们看到那么多好玩的应用,别着急!
跟着雄哥先做第一个知识库应用出来!给领导/同事玩玩!
我们新建一个简单对话的应用,点确定!
这里我们可以设置一个开场白,自我介绍或者引导用户可以提问什么!
然后设置一个系统提示词,可以角色扮演,也可以限定输出格式等!
选择一个知识库!
保存之后!我们点图片上的“外接”!
你可以选择免登录窗口,或者API访问!这里内网,直接选1吧!
然后创建链接!
你会得到这样的网址!把IP改为本地的IP吧!
http://192.168.2.138:3000/chat/share?shareId=8mz1n547je0mngtauc8ha4dl
把这个网址发给同事,他打开之后就直接来到你的应用里了!
就这么简单!
动起手来!打卡吧!
下一篇,跟着雄哥学习高级编排,彻底把知识库玩透!
目前知识星球组织了自主Agent的内测项目,如果你感兴趣的话,快加入吧!