Dify 中的 API 工具是连接不同 Dify 应用(或其他外部服务)的桥梁。其核心是利用 LLM 的工具使用(Tool Using)能力,也称为函数调用(Function Calling)或插件(Plugins)。
LLM 的工具使用流程:
- 意图识别与工具选择: 当用户向智能体 A (调用方) 提问时,智能体 A 的 LLM 会分析用户的意图。如果 Prompt 中定义了可用的工具,并且 LLM 判断需要某个工具的能力来回答问题,它会选择合适的工具。
- 参数提取: LLM 会从用户的问题中提取调用该工具所需的参数。
- 生成工具调用请求: LLM 会生成一个结构化的“意图”或“指令”,表明要调用哪个工具以及使用哪些参数。在 Dify 中,这会被平台转换为对目标 API 的实际 HTTP 请求。
- 执行工具调用: Dify 平台执行 HTTP 请求,调用智能体 B (服务方) 的 API。
- 获取工具响应: 智能体 B 处理请求并返回响应。
- 将响应反馈给 LLM: Dify 平台将智能体 B 的响应(通常是 JSON)返回给智能体 A 的 LLM。
- 最终响应生成: 智能体 A 的 LLM 结合用户的原始问题、自身的知识以及工具的响应,生成最终的答