API官方文档2 分钟阅读API与文档

获取FastGPT插件请求的非流式与流式响应数据

当请求参数配置为detail=true且stream=false时,完整响应会返回包含所有流程节点数据的responseData数组。插件的输出结果可通过遍历该数组,查找moduleType为pluginOutput的元素,其内置的pluginOutput字段即为插件的最终输出内容。

非流式插件响应获取方式

当请求参数配置为detail=truestream=false时,完整响应会返回包含所有流程节点数据的responseData数组。插件的输出结果可通过遍历该数组,查找moduleTypepluginOutput的元素,其内置的pluginOutput字段即为插件的最终输出内容。示例响应结构中,该元素会包含nodeIdpluginOutputmoduleName插件输出的字段,其pluginOutput.result可直接获取插件返回的文本内容。

流式插件响应获取方式

当请求参数配置为detail=truestream=true时,响应将以SSE(服务器发送事件)格式返回。需按事件类型分别处理:首先监听event=flowResponses的事件,将其data字段反序列化为数组后,同样遍历查找moduleType=pluginOutput的元素获取插件输出;流式的对话内容则可通过event=answer的事件,按标准对话接口的流式获取方式提取,与普通对话的流式响应处理逻辑一致。此外还会返回event=flowNodeStatus的事件,用于展示当前运行的流程节点状态。

标准操作步骤

  1. 配置FastGPT聊天请求的参数,设置detail=true,根据需求将stream设为true(流式)或false(非流式)。
  2. 非流式场景下,直接解析完整的HTTP响应体,提取responseData数组,过滤出moduleType="pluginOutput"的元素,读取其pluginOutput字段即可得到插件输出。
  3. 流式场景下,按SSE协议逐行解析响应内容,当遇到event: flowResponses时,将其后的data字符串反序列化为数组,按非流式的方式提取插件输出;当遇到event: answer时,直接解析data中的choices[0].delta.content获取流式的对话文本。

来源:FastGPT 官方文档