流式输出功能可以让您实时获取 Assistant 的运行状态,以便向用户逐字展示大模型生成的内容。
流式输出功能具有以下特点:
如需启用流式输出,您只需使用
在 Assistant API 中,为了呈现流式输出效果,需要完成两个步骤:
就像打开水龙头,您只需在创建运行时,将
在流式运行中,Assistant 产生的数据流主要分为两类:
在 Assistant API 中,Assistant 会产生两类对话消息流:
代码解释器,夸克搜索,文生图和计算器支持流式输出。其他 Assistant API 工具不支持流式输出。详情请参阅运行步骤增量对象。
至此,您已经了解了构建流式输出的基本方法。接下来您将通过一个案例,构建带有工具调用的流式输出。
在这个简单的案例中,Assistant 配置了代码解释器工具,实现了文本消息、代码编写和代码执行的流式输出效果。如果您希望了解更多代码解释器的配置方法,请参考代码解释器-功能特性。
请确认您已配置 API Key 到环境变量,并安装 DashScope SDK。
在配置流式输出时,如果您遇到代码执行错误,可参阅错误码排查错误类型。
- 更自然的对话节奏:能够模拟人类交流的节奏,让交互过程更加流畅自然。
- 更精细的控制机制:实时监测 Assistant 运行状态,及时展示生成进度,或在发现异常时及时终止。
- 更可靠的连接保障:响应分块逐步返回,避免客户端等待时间过长。
快速开始
如需启用流式输出,您只需使用Run.create(stream=True)运行 Assistant。
请确认您已配置 API Key 到环境变量,并安装 DashScope SDK。
| 非流式输出 | 流式输出 |
配置方法
在 Assistant API 中,为了呈现流式输出效果,需要完成两个步骤:
- 流式运行 Assistant
- 接收流式数据
流式运行 Assistant
就像打开水龙头,您只需在创建运行时,将stream参数设置为True,即可流式运行 Assistant。
接收流式数据
在流式运行中,Assistant 产生的数据流主要分为两类:
- 状态信息流:用于追踪运行状态和进度
- 对话消息流:包含实际的输出内容
对话消息流
在 Assistant API 中,Assistant 会产生两类对话消息流:
- 文本消息流:在 Assistant 中,由大模型生成的文本消息流。
- 工具消息流:在 Assistant 中,由工具调用返回的工具消息流。以代码解释器为例: