在 Dify 工作流中,通过添加「HTTP 请求」节点即可配置调用外部 API,适用于需要获取实时数据或连接第三方服务的场景,主要风险在于接口认证失败或响应格式解析错误。
先说结论:配置 HTTP 请求节点是 Dify 工作流连接外部系统的标准方式,需重点确认接口文档的认证方式和响应结构。
- 适合:需要在工作流中引入外部数据、调用内部工具或触发第三方动作的场景。
- 先准备:目标 API 的完整文档、访问密钥(API Key)及网络可达性测试。
- 验收:通过节点内置的「运行」功能测试连通性,并确认返回变量可被后续节点引用。
快速处理思路
由于 Dify 为可视化操作平台,无需命令行,按以下界面操作顺序执行:
- 进入工作流编辑页面,点击左侧节点栏添加「HTTP 请求」节点。
- 在配置面板填写请求方法(GET/POST 等)和完整 URL 地址。
- 在 Headers 中配置认证信息,如 Authorization 字段。
- 配置 Params 或 Body 参数,支持引用工作流前序变量。
- 点击「运行」测试接口连通性,保存后连接后续节点。
为什么会这样
HTTP 请求节点本质是工作流与外部网络服务的桥梁,允许大模型获取非训练数据。
大模型本身知识存在截止时间,无法直接获取实时信息或私有数据。通过 HTTP 请求节点,工作流可以将用户输入或中间变量发送至外部 API,并将返回结果结构化后传回工作流,从而实现功能扩展。
分步处理
按以下顺序配置节点,每一步完成后需检查配置状态:
步骤 1:添加节点
在工作流画布中,点击「+」号,选择「工具」类别下的「HTTP 请求」节点。检查点:节点成功上画,右侧出现配置面板。
步骤 2:配置请求基础信息
选择请求方法(GET/POST/PUT 等),填入目标 API URL。若 URL 包含动态参数,使用双花括号{{variable}} 引用前序节点变量。检查点:URL 格式合法,变量引用显示为蓝色高亮。
步骤 3:配置认证与头信息
在 Headers 区域添加键值对,常见如Authorization: Bearer YOUR_TOKEN或Content-Type: application/json。检查点:敏感密钥建议使用 Dify 的密钥管理功能存储,避免硬编码。
步骤 4:配置参数与体
根据 API 文档,在 Params(查询参数)或 Body(请求体)中填写数据。JSON 格式 Body 需确保语法正确。检查点:JSON 编辑器无报错提示。
步骤 5:测试与输出映射
点击配置面板底部的「运行」按钮,查看响应状态码是否为 200。在「输出」区域定义需要提取的字段,以便后续节点使用。检查点:测试返回成功,输出变量列表中可见提取字段。
怎么验证是否生效
通过工作流预览模式进行端到端验证:
- 点击工作流右上角的「预览」或「运行」按钮。
- 输入测试用例,观察 HTTP 请求节点状态变为绿色成功。
- 展开节点详情,检查「响应内容」是否与预期一致。
- 确认后续节点(如 LLM 节点)能正确读取 HTTP 节点输出的变量。
常见坑
- 超时设置:外部 API 响应慢可能导致节点超时失败,需在配置中调整超时时间。
- JSON 路径错误:提取响应字段时,若 API 返回结构变更,会导致提取失败,需确保路径匹配。
- 认证失效:API Key 过期或权限不足会返回 401/403 错误,需定期轮换密钥。
- 网络限制:Dify 服务端需能访问目标 API 地址,内网 API 需确保网络通路。
常见问题
如何在 HTTP 请求中动态传递用户输入?
在 URL、Params 或 Body 配置框中,点击变量图标选择前序节点输出的变量,系统会自动插入引用语法。
API 返回数据太多如何只取部分字段?
在 HTTP 请求节点的「输出」配置区,添加变量并编写 JSON Extract 路径,仅提取需要的字段。
调用内部局域网 API 失败怎么办?
确认 Dify 部署环境是否能访问该内网地址,若为 SaaS 版通常无法直接访问私有内网,需通过公网网关转发。
参考来源
- Dify Documentation, Workflow Nodes - HTTP Request, https://docs.dify.ai/