labring/FastGPT

AI如何使用非流式输出

Closed this issue · 5 comments

有些场景不需要ai直接输出内容,而是希望将第一个ai的回复输出给后面的节点进行处理,然后再回答问题。

但是由于ai是流式输出,全部输出完以后,后面的节点才能开始处理,这就导致用户一直在等待,体验较差。

有没有办法让ai不要流式输出,而是一次性快速输出信息让后面来处理,从而减少用户等待时间

测试过kimi 通义千问以及本地模型,使用提示词都无法控制

其实应该在类似AI对话的这类涉及到AI大模型交互的插件节点增加个配置开关来控制openai api 的stream参数的true/false。openai的api格式stream参数可配置,说明是有必要的。一个复杂智能体应用中应用AI的节点大多不需要流式输出,因为流程中需要一次性获得完整输出来驱动下一步工作流程,流式输出只是在对话交互体验上感觉好。现在目前AI大模型应用都在搞智能体工作流编排,很多时候AI节点是用来在整体流程中完成某个功能任务,流式输出反而不适配这种需求。

image
image
image
image
这里可能有一个假想误区,AI的流式输出和非流式输出的时间一致性应该是差不多的,本地模型取决于GPU的算力,外网大模型取决于网络速度,这里测试了本地化大模型和公网的GLM大模型,同样的内容,均是流式输出快一点点,你也可以用postman测试一下

其实应该在类似AI对话的这类涉及到AI大模型交互的插件节点增加个配置开关来控制openai api 的stream参数的true/false。openai的api格式stream参数可配置,说明是有必要的。一个复杂智能体应用中应用AI的节点大多不需要流式输出,因为流程中需要一次性获得完整输出来驱动下一步工作流程,流式输出只是在对话交互体验上感觉好。现在目前AI大模型应用都在搞智能体工作流编排,很多时候AI节点是用来在整体流程中完成某个功能任务,流式输出反而不适配这种需求。

你说的很对,的确需要

@2277419213 分析的对,也许的确是假象误区,等高手确认下

时间肯定是一样的,或者说,只会差那么一两秒网络传输。如果是用国内模型,那么流会更慢,因为每个流会有内容审核。如果非流能比流快很多,那就没必要用流了。