非流式插件响应获取方式
当请求参数配置为detail=true且stream=false时,完整响应会返回包含所有流程节点数据的responseData数组。插件的输出结果可通过遍历该数组,查找moduleType为pluginOutput的元素,其内置的pluginOutput字段即为插件的最终输出内容。示例响应结构中,该元素会包含nodeId为pluginOutput、moduleName为插件输出的字段,其pluginOutput.result可直接获取插件返回的文本内容。
流式插件响应获取方式
当请求参数配置为detail=true且stream=true时,响应将以SSE(服务器发送事件)格式返回。需按事件类型分别处理:首先监听event=flowResponses的事件,将其data字段反序列化为数组后,同样遍历查找moduleType=pluginOutput的元素获取插件输出;流式的对话内容则可通过event=answer的事件,按标准对话接口的流式获取方式提取,与普通对话的流式响应处理逻辑一致。此外还会返回event=flowNodeStatus的事件,用于展示当前运行的流程节点状态。
标准操作步骤
- 配置FastGPT聊天请求的参数,设置
detail=true,根据需求将stream设为true(流式)或false(非流式)。 - 非流式场景下,直接解析完整的HTTP响应体,提取
responseData数组,过滤出moduleType="pluginOutput"的元素,读取其pluginOutput字段即可得到插件输出。 - 流式场景下,按SSE协议逐行解析响应内容,当遇到
event: flowResponses时,将其后的data字符串反序列化为数组,按非流式的方式提取插件输出;当遇到event: answer时,直接解析data中的choices[0].delta.content获取流式的对话文本。
来源:FastGPT 官方文档