在 FastGPT 工作流里处理外部接口调用时,判断依据可以落在调用时机是否固定。接口地址、参数结构、触发条件在编排阶段已经确定,HTTP 节点更直接。需要由模型根据对话内容判断是否调用、调用哪个接口,工具节点更合适。两者都涉及请求发送与结果回填,差别在于决策由谁做出。
固定接口优先使用 HTTP 节点
HTTP 节点面向编排阶段就能确定下来的外部接口调用。在 FastGPT v4.17.2 的节点说明中,HTTP 节点通过配置请求地址、请求方法、请求头和请求体等参数完成一次接口调用,输入可以来自上游节点的变量,输出可以进入下游节点继续处理。适用条件是接口的 URL 固定、请求方法固定、参数结构固定,触发时机由工作流连线决定,不需要模型在对话中做选择。例如查询某个固定服务状态、提交一条表单、拉取一份配置,这类调用在画布上就能写清楚。需要核对的点包括请求地址是否包含变量、请求头是否携带鉴权信息、请求体格式与接口要求是否一致、超时与异常分支是否接好、返回结构是否按预期解析。这些配置在节点内完成,工作流每次执行到该节点都会发起调用,调用次数与连线路径一致,便于排查。
三列比较:HTTP 节点与工具节点
下表按方案、适用条件、需要核对的点三列展开,用于在编排阶段快速定位选择。表内条目只描述节点能力与配置关注点,不涉及具体业务效果。
| 方案 | 适用条件 | 需要核对的点 |
|---|---|---|
| HTTP 节点 | 接口地址、方法、参数结构在编排阶段已经确定,触发时机由工作流连线控制 | 请求地址变量、鉴权请求头、请求体格式、超时与异常分支、返回结构解析 |
| 工具节点 | 需要由模型根据对话内容判断是否调用外部能力,调用哪个工具由模型选择 | 工具描述是否清晰、参数定义是否完整、模型能否稳定选中、调用结果如何回填 |
| HTTP 节点加条件分支 | 接口固定但触发条件需要按上游数据判断,分支后再调用 | 条件表达式、分支覆盖是否完整、未命中分支的处理、变量在分支间是否可用 |
| 工具节点配合 HTTP 节点 | 模型先判断意图,再由固定接口完成实际请求,两者串联 | 工具输出与 HTTP 输入字段是否对齐、串联顺序、失败时回退路径 |
表格用于缩小选择范围,最终仍要回到具体接口的鉴权方式、参数形态和返回结构上核对。
由模型判断调用时使用工具节点
工具节点面向需要模型参与决策的外部能力调用。在 FastGPT v4.17.2 的节点体系中,工具节点把外部能力以工具形式提供给模型,由模型根据当前对话上下文判断是否调用以及调用哪一个。适用条件是调用时机不固定、调用对象需要在多个能力之间选择、参数需要从自然语言中抽取。例如用户提出一个请求,模型判断需要查询外部数据,再从若干工具中选中合适的一个并组织参数。需要核对的点包括工具名称与描述是否能让模型区分、参数定义是否覆盖必要字段、必填项缺失时如何处理、模型选中工具后参数是否符合接口要求、调用结果如何回到对话或工作流。工具节点的决策发生在运行时,调用次数取决于模型判断,排查时要结合对话上下文查看工具选择记录。当接口固定且无需模型选择时,HTTP 节点可以减少不确定性;当选择本身依赖对话内容时,工具节点承担判断职责。