Dify知识库升级:告别短板,FastGPT知识库接入实战!

AI前沿2周前发布 yizz
4,651 0 0
广告也精彩

Dify 知识库救星:FastGPT 知识库无缝接入 Dify 实战指南

为什么 Dify 需要接入 FastGPT 知识库? Dify 知识库的痛点分析

相信很多朋友都体验过 Dify 这款强大的开源 LLM 应用平台,但自带的知识库功能却让人一言难尽。即使 Dify 升级到了 1.0 版本,其知识库的问答效果仍然不尽如人意。具体来说,Dify 知识库存在以下几个问题:

  1. 分段效果不理想:即使采用了最新的父子分段技术,问答效果仍然难以达到预期。
  2. 配置繁琐:在知识库创建流程中已经设定了重排模型,但在应用关联知识库时还需要再次设定。
  3. 问答拆分速度慢且容易出错:Dify 知识库虽然支持 FastGPT 的问答拆分模式,但拆分速度非常慢,而且容易出现错误。
  4. 问答拆分后的回复质量差:使用问答拆分后的回复内容往往让人失望。

总而言之,Dify 除了知识库以外,其他大部分功能体验都比 FastGPT 要好。正所谓“爱之深,责之切”,正是因为对 Dify 寄予厚望,才更希望它能有所改进。

为什么选择 FastGPT 知识库? FastGPT 知识库的优势

与 Dify 相比,FastGPT 的知识库效果是公认的优秀。那么,FastGPT 知识库有哪些优势呢?

虽然原文没有详细介绍,但我们可以推测 FastGPT 知识库可能具有以下优点:

  • 更高效的分段技术:能够更准确地将知识库内容进行分段,从而提高问答的准确性。
  • 更智能的检索算法:能够更快速地找到与用户问题相关的知识点,从而提高问答的效率。
  • 更灵活的配置选项:提供更多的配置选项,让用户可以根据自己的需求进行定制,从而提高问答的个性化程度。

如何将 FastGPT 知识库接入 Dify? FDA (fastgpt-dify-adapter) 适配器方案

既然 Dify 的知识库效果不佳,而 FastGPT 的知识库效果又很好,那么将两者结合起来岂不是两全其美?Dify 提供了外部知识库 API,这为我们提供了实现的可能。

为了解决 Dify 和 FastGPT 接口不兼容的问题,作者开发了一个名为 FDA (fastgpt-dify-adapter) 的适配器,作为 Dify 和 FastGPT 知识库之间的桥梁,可以快速、方便地将 FastGPT 的知识库外接到 Dify 使用。

1. FDA 适配器是什么?

FDA 适配器可以看作是一个接口转换器,它将 Dify 的外部知识库 API 请求转换为 FastGPT 知识库 API 可以理解的格式,并将 FastGPT 知识库的响应转换为 Dify 可以理解的格式。

2. FDA 适配器的优势

  • 简单易用:只需简单的配置,即可将 FastGPT 知识库接入 Dify。
  • 高效稳定:采用高效的编程语言和框架,保证适配器的稳定性和性能。
  • 可定制性强:可以根据实际需求进行定制,满足不同的应用场景。

FDA 适配器部署教程

1. 准备工作

  • Docker 环境:确保您的服务器或电脑已经安装了 Docker 和 Docker Compose。
  • FastGPT 服务:确保您已经部署了 FastGPT 服务,并且可以正常访问。
  • Dify 服务:确保您已经部署了 Dify 服务,并且可以正常访问。

2. 创建 docker-compose.yml 文件

在任意目录下创建一个名为 docker-compose.yml 的文件,并将以下内容复制到文件中:

yaml
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

注意:

  • FASTGPT_BASE_URL:配置 FastGPT 地址。如果 FastGPT 和 FDA 部署在同一个 Docker 环境中,建议使用 http://host.docker.internal:3000
  • DATASET_SEARCH_USING_EXTENSION:是否使用问题优化。
  • DATASET_SEARCH_EXTENSION_MODEL:问题优化模型。
  • DATASET_SEARCH_EXTENSION_BG:问题优化背景。
  • DATASET_SEARCH_USING_RERANK:是否使用重排序。

3. 部署 FDA 适配器

docker-compose.yml 文件所在的目录下,打开命令行终端,执行以下命令:

bash
docker-compose up -d

该命令会自动下载 FDA 适配器的镜像并启动容器。

4. 查看 FDA 适配器日志

部署成功后,可以打开 Docker Desktop,找到 Containers -> fda -> view details 查看 FDA 适配器的日志,确认 FDA 适配器是否正常运行。

配置 FastGPT 和 Dify

1. 获取 FastGPT 相关参数

  • 创建 OpenAPI Key:在 FastGPT 中创建一个 OpenAPI Key,并复制 Key 值备用。
  • 复制知识库 ID:找到您想要接入 Dify 的知识库,点击进入,在最右边找到知识库 ID,复制 ID 值备用。

2. 配置 Dify 外部知识库

  • 添加外部知识库 API:访问 Dify,进入知识库 -> 外部知识库 API -> 添加外部知识库 API。
    • API Endpoint:填写 FDA 适配器的地址 + 端口。如果 Dify 和 FDA 部署在同一个 Docker 环境中,可以直接使用 http://host.docker.internal:5000
    • API Key:填写刚刚复制的 FastGPT OpenAPI Key。
  • 创建外部知识库:填写刚刚复制的 FastGPT 知识库 ID。
    • Top K:对应 FastGPT 的引用上限。Top K 为 4 对应 FastGPT 的 2000(如果是 5 就对应 2500,以此类推)。
    • Score:对应 FastGPT 的最低相关度。建议 Top K 拉到 6 以上,可以提供更多的长下文。

3. 在 Dify 应用中添加知识库

进入 Dify 应用,点击添加知识库,选择刚刚创建的外部知识库,添加后会弹出设置(这里的设置经测试不起作用,不用管),直接保存。

体验 Dify + FastGPT 知识库的强大

完成以上步骤后,您就可以在 Dify 中愉快地使用 FastGPT 知识库来进行问答回复啦!效果提升不止一点点!点击引用,还可以看到所有的引用内容。

如果后续想调整外部知识库的参数,可以到外部知识库 -> 设置里面调整。

总结

通过 FDA 适配器,我们可以轻松地将 FastGPT 知识库接入 Dify,从而大幅提升 Dify 的知识库问答效果。Dify 结合 FastGPT 知识库,才是世界上最好用的开源 LLM 应用平台!

希望本文能帮助到大家,如果您觉得不错,请随手点个赞、在看、转发三连吧!

感悟

我认为:Dify 虽有瑕疵,但开源精神可嘉,愿能集百家之长,终成大器。而 FastGPT 知识库之精妙,恰如画龙点睛之笔,使 Dify 如虎添翼。然技术之路漫漫,仍需上下求索,精益求精,方能臻于至善。

FastGPT

知识库

LLM应用平台

© 版权声明
chatgpt4.0

相关文章

error: Content is protected !!