Assistant API 为您提供了一套 Assistant 的开发工具,帮助您方便地管理对话消息,以及调用工具。本文以从零开始构建绘画智能助手为例,帮助您快速掌握 Assistant API 的基础编码方法。
典型流程
构建智能体应用(Assistant)的典型流程如下:
- 创建 Assistant:创建智能体时,您需要选择模型、输入指令并添加实用工具,如代码解释器、夸克搜索和函数调用。
- 创建 Thread:当用户发起对话时,创建一个会话线程来追踪连续的对话历史。
- 发送 Message 到 Thread:将用户发送的消息添加到对话中。
- 发起 Run:在会话线程上运行智能体,它会解析消息,调用相应的工具或服务,生成响应并返回给您。
示例场景
文本生成模型自身不具备生成图像的功能,一般需要通过特定的文生图模型,可以将文本转化为图像。借助 Assistant API 创建的智能体应用,能够自动优化用户提供的描述词,通过互联网搜索工具丰富细节,最终调用文生图工具生成高质量图像。例如,为了生成一幅栩栩如生的宠物猫图像,您只需提供基础描述,绘图助手将自动完善提示词,并直接输入至文生图工具中,高效完成图像绘制任务。
操作步骤
以下是在非流式输出模式下,以 Python 为例的详细流程指引。本文末尾还介绍了流式和非流式输出的 Python 及 Java SDK 完整代码。

第一步:准备开发环境
| |
第二步:创建 Assistant导入 Dashscope SDK 后,您需使用 Assistant 类的 create 方法创建 Assistant 智能体。这一过程涉及以下关键参数的设定:
| |
第三步:创建 ThreadThread(线程)是 Assistant API 中的一个关键概念,它代表了一个持续的对话上下文。Thread 允许您在用户启动新对话时创建一个会话管理线程。Assistant 可以通过 Thread 理解整个对话的上下文,从而提供更加连贯和相关的回应。建议您:
| |
第四步:添加 Message 到 Thread您输入的内容将通过 Message 对象传递。 Assistant API 支持向单一 Thread 发送一个或多个消息。创建 Message 时,您需要考虑以下参数:
Messages.create()方法执行后会自动将消息加入线程并触发后台处理,相当于同时完成消息创建和发送两个操作,这是 API 的预设行为。 | |
第五步:创建 Run 并执行用户将消息分配至特定 Thread 后,可以通过启动一个运行(Run)来激活预设的助手(Assistant)。该助手会以线程内的所有消息为背景,利用指定的模型和可用的插件,智能地回应用户的问题,并将生成的答案插入到线程的消息序列中。在本场景中,您需执行以下步骤:
考虑到可能会有大量用户同时使用模型,导致处理时间延长,建议等候状态显示为"complete"后再执行下一步操作,以确保流程顺畅。 |
完整代码
- 非流式输出
- 流式输出