上篇给大家分享了如何本地部署目前最强开源LLM应用平台dify v1.0.0,本来这期是准备分享dify的知识库搭建的。
但是即便dify已经升级到1.0完全体了,它的知识库问答效果还是一坨,,,
以下是我个人使用dify知识库之后的感受:
1.即便使用最新的父子分段后效果仍不理想;
2.配置有点繁琐,在知识库创建流程中已经设定了重排模型,到应用关联知识库的时候还要设定一次;
3.dify的知识库也支持fastgpt的问答拆分模式,但是这个拆分速度非常慢,还容易出错;
4.使用问答拆分之后的回复也是一坨,,,
说真的,dify除了知识库以外,其他大部分功能体验都比fastgpt要好。
有时候我真的有点恨铁不成钢。
而fastgpt的知识库效果是公认的好(以下是某群 群友的评价~)
所以,过去一年我大部分时间都在用fastgpt,毕竟知识库才是根本。
不过我想:如果能把dify和fastgpt结合,且不妙哉?
dify提供了外部知识库API,我知道,这事儿绝对能成!
dify的外部知识库功能,支持添加外部知识库使用。
而fastgpt的知识库又刚好支持API调用。
那咱们可以直接把fastgpt知识库接入dify使用呀~
但是两边API接口不适配,,,是个问题。
遇到问题,我一般都会先找找有没有现成的方案(毕竟重复造轮子不是明智之举)
经过我的一番AI搜索,引擎搜索,各种查找,还真没找到现成的方案可以直接把fastgpt的知识库接入dify
PS:如果您有其他方案,欢迎评论区分享~
那么,就由我自己来创造"完美"!(造个轮子)
我用字节最新发布的AI编程工具Trae,花了30分钟左右,快速的完成了一个小项目,作为dify和fastgpt知识库的桥梁,可以快速、方便的把fastgpt的知识库外接到dify使用。
你可以把这个项目看做一个适配器。
姑且就给这个项目起名fda(fastgpt-dify-adapter)
看下dify外接fastgpt知识库前后的回复对比(左边是接入前,右边是接入后)
这个对比,两边所配置的参数,索引方式,索引模型,问答模型,以及知识库所上传的资料都一样。
但是dify的原始回复效果,我看了直接想报警!
完全跟我文章里面的内容不沾边,,,
整个接入过程简单分为3步:
1.配置、部署fda;
2.在fastgpt创建open apikey,复制知识库id;
3.在dify外接fastgpt知识库;
介绍差不多了,我们直接开始喂饭~
一、部署fda(fastgpt-dify-adapter)
fda(fastgpt-dify-adapter)使用python语言开发,支持docker-compose一键启动。
目前已经放到github
地址:https://github.com/kangarooking/fastgpt-dify-adapter
本篇教程使用的是本地部署的fastgpt和本地部署的dify来完成对接
PS:dify和fastgpt都有云端版本,懒得本地部署的朋友也可以通过云端版本测试。
同样,fda也是本地部署(系统:win10)
咱们不需要去下载fda的源码,直接创建一个fda的docker-compose.yml配置文件即可。
先随便新建一个文件夹,在文件夹下新建一个.txt文件,把如下内容复制到.txt文件中(一定要保持yml格式,不能乱)
version: '3'``services:` `fastgpt-dify-adapter:` `image: registry.cn-guangzhou.aliyuncs.com/kangarooking/fastgpt-dify-adapter:1.0.1` `ports:` `- "5000:5000"` `environment:` `- FASTGPT_BASE_URL=http://host.docker.internal:3000` `# 问题优化配置` `- DATASET_SEARCH_USING_EXTENSION=false` `- DATASET_SEARCH_EXTENSION_MODEL=deepseek-chat` `- DATASET_SEARCH_EXTENSION_BG=` `# 重排序配置` `- DATASET_SEARCH_USING_RERANK=false` `restart: unless-stopped
ps:本次镜像也特别帮大家上传到了阿里云,这样不需要科学上网就能快速下载镜像啦
.txt文件保存之后,将文件名连着后缀一起修改为docker-compose.yml
FASTGPT_BASE_URL:配置fastgpt地址(如果fastgpt和fda部署在同一个服务器的docker中,fastgpt地址建议直接使用 http://host.docker.internal:3000)
问题优化 和 重排序配置对应fastgpt的什么配置呢?
我放两个图你就懂了
docker-compose.yml文件配置好之后
在docker-compose.yml文件所在目录的地址栏输入cmd 回车,进入控制台。
控制台输入指令docker-compose up -d ,然后 回车(就自动下载、部署fda了)
如上图部署成功之后,可以打开docker-desktop,找到Containers->fda->view details查看fda的日志
二、获取fastgpt相关参数
我们需要获取fastgpt的openapi key
创建openapi key之后 需要复制下来备用
找到你想要接入dify的知识库,点进去
在最右边找到知识库id,复制下来备用
三、dify外接fastgpt知识库
访问dify,知识库->外部知识库API->添加外部知识库API
API Endpoint填写fda的地址+端口(如有)
PS:如果dify和fda也是部署在同一服务器的docker中,fda的地址直接用:http://host.docker.internal:5000
API key填写刚刚复制的fastgpt openapi key
让后保存。
如下图就保存成功了
然后我们创建一个外部知识库
注意填写刚刚复制的fastgpt知识库id
Top K 和 Score对应fastgpt哪里的配置,我放个图你就明白了
Top K为4=fastgpt的引用上限2000(如果是5就对应2500,以此类推)
Score=fastgpt的最低相关度
建议 Top K拉到6以上,可以提供更多的长下文
配置好之后,点击连接
最后,随便进入一个dify应用,点击添加知识库
选择刚刚创建的外部库,添加
会弹出设置(这里的设置经我测试不起作用,不用管),直接保存
到这一步,我们就可以在dify里面愉快的使用fastgpt知识库来进行问答回复啦~ 效果提升不止一点点!
点击引用,还可以看到所有的引用内容
如果后续想调整外部知识库的参数,可以到外部知识库->设置里面调整
至此
外接fastgpt知识库的dify才算是世界上最好用的开源LLM应用平台!
能看到这里的都是凤毛麟角的存在!
如果觉得不错,随手点个赞、在看、转发三连吧~
如何学习AI大模型?
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓