Dify外接Fastgpt知识库,这套组合可以说封神了!【喂饭级教程】
Dify与Fastgpt强强联合,打造企业级AI应用新体验!
核心内容:
- Dify知识库的不足与Fastgpt的优势
- 创新方案:Dify外接Fastgpt知识库
- 喂饭级教程:三步快速部署fda适配器
即便Dify已经升级到1.0完全体,知识库问答效果依然不尽如人意。从实际体验来看,主要有几个痛点:
1. 即便用上最新的父子分段,效果仍然欠佳;
2. 配置流程有些繁琐——知识库创建时设定了重排模型,到了应用关联知识库又得再设一次;
3. Dify也支持Fastgpt的问答拆分模式,但拆分速度慢,且容易出错;
4. 问答拆分后的回复质量同样不太理想。
说句公道话,Dify除了知识库之外,其他大部分功能的体验都优于Fastgpt。而Fastgpt的知识库效果是公认的强(某群友的评价可作佐证)。
因此过去一年中,大量时间都用在了Fastgpt上——毕竟知识库才是应用根基。不过,一个念头挥之不去:如果把Dify和Fastgpt结合起来,岂不完美?Dify提供了外部知识库API,而Fastgpt的知识库也支持API调用。理论上可以直接将Fastgpt知识库接入Dify使用。但两边API接口不兼容,成了拦路虎。
遇到问题,首先寻找现成方案(重复造轮子不是明智之举)。经过AI搜索、引擎检索,目前还真没找到现成方案能将Fastgpt知识库直接接入Dify。(如果读者有其他方案,欢迎交流分享。)
那就自己动手创造“完美”。利用字节最新发布的AI编程工具Trae,大约花了30分钟,快速完成了一个小项目——作为Dify和Fastgpt知识库的桥梁,可以方便地将Fastgpt的知识库外接到Dify使用。可以把这个项目看作一个适配器,姑且命名为fda(fastgpt-dify-adapter)。
来看下Dify外接Fastgpt知识库前后的回复对比(左侧为接入前,右侧为接入后):
对比中,两边的参数配置、索引方式、索引模型、问答模型以及知识库上传的资料完全一致。但Dify的原始回复效果,简直让人想报警——完全与文章内容不沾边。
整个接入过程分为三步:1. 配置并部署fda;2. 在Fastgpt创建OpenAPI key,复制知识库ID;3. 在Dify外接Fastgpt知识库。
介绍差不多了,直接开始喂饭级教程。
一、部署fda(fastgpt-dify-adapter)
fda使用Python语言开发,支持Docker Compose一键启动。目前项目已托管到GitHub。
GitHub地址:https://github.com/kangarooking/fastgpt-dify-adapter
本教程以本地部署的Fastgpt和Dify为例进行对接。(Dify和Fastgpt都有云端版本,不想本地部署的朋友也可以通过云端版本测试。fda同样本地部署,系统:Win10。)
不需要下载fda的源码
docker-compose.yml配置文件即可。先新建一个文件夹,在里面新建一个.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
(本次镜像已上传到阿里云,无需科学上网即可快速下载。)
保存.txt文件后,将
文件名连同后缀一起修改为docker-compose.yml
FASTGPT_BASE_URL参数需要配置Fastgpt地址。如果fda与Fastgpt部署在同一台服务器的Docker中,建议直接使用http://host.docker.internal:3000。
问题优化和重排序配置对应Fastgpt中的哪些配置?直接看下面两张图就明白了:
配置好之后,在docker-compose.yml所在目录的地址栏输入cmd回车进入控制台,输入指令docker-compose up -d回车,即可自动下载并部署fda。
部署成功后,可打开Docker Desktop,找到
Containers → fda → View details
二、获取Fastgpt相关参数
需要获取Fastgpt的OpenAPI key
三、Dify外接Fastgpt知识库
访问Dify,进入
知识库 → 外部知识库API → 添加外部知识库API
API Endpoint
http://host.docker.internal:5000,如果Dify与fda部署在同一服务器的Docker中则用此地址)。
API Key
Top K
Score
配置好后点击连接。最后进入任意Dify应用,点击
添加知识库
点击引用还能看到所有引用内容。后续若需调整外部知识库参数,可到
外部知识库 → 设置
至此,外接Fastgpt知识库的Dify,才算得上是世界上最好用的开源LLM应用平台。
-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名