必须打通三类数据源接入路径并统一启用混合检索策略,否则仅单路检索:依次添加文件、postgresql(需ssl)、rest api源;在检索设置中启用混合检索并调整权重;重建索引后通过测试检索、网络响应或调试日志验证三源融合。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify知识库中让PDF、数据库记录和API返回的实时数据同时参与一次语义+关键词联合检索,必须打通三类数据源的接入路径并统一启用混合策略,否则系统只会对其中某一种源执行单路检索。
接入多类型数据源
登录Dify控制台,进入「数据源管理」→「新建数据源」。
依次添加三类源:选择「文件上传」,上传PDF/DOCX/TXT格式文档;选择「PostgreSQL」,填写host、port、database、username、password及ssl_enabled参数;选择「REST API」,填入GET请求URL、Headers(含Authorization)、Query Params(如?updated_after=2026-01-01)。
【PostgreSQL连接必须开启SSL】,否则Dify会拒绝建立持久化连接,后续检索节点无法调用该数据源。
每添加完一类源,点击「保存并触发索引构建」——注意:API源不支持自动切片,需确保响应体为纯文本或JSON数组且含text字段,否则向量化失败。
启用混合检索并配置权重
进入「数据集」页面,选中已绑定上述三类源的知识库,点击「编辑」→「检索设置」。
勾选「启用混合检索」开关,此时下方出现两个滑块:「关键词匹配权重」默认0.3、「向量相似度权重」默认0.7。
将关键词权重拖至0.4,向量权重同步变为0.6——这个比例在技术文档+自由文本混合场景下召回更稳,若你知识库中法规条文占比超60%,可调高至0.5。
保存设置后,页面弹出提示:“需重新索引全部文档以应用新策略”,点击「立即重建索引」,等待状态变为「就绪」。
验证混合结果是否真正融合
方法一:在知识库详情页点击「测试检索」,输入查询词“用户注销流程”,观察返回结果列表。
若前3条中包含1条来自PDF的步骤截图描述、1条来自PostgreSQL的字段定义、1条来自API的最新操作日志,则说明三源已混检成功。
方法二:打开浏览器开发者工具,切换到Network标签,执行一次检索,筛选出/datasets/{id}/retrieve接口请求。
查看响应体中的retrieval_metadata字段,确认其包含keyword_hits_count与vector_hits_count两个非零数值,且merged_results长度等于二者之和。
方法三:在应用工作流中插入一个「调试日志」节点,连接检索节点输出,部署后发起请求,日志中应出现"hybrid_retrieval: true"与"sources: ['file', 'postgresql', 'api']"字样。











