Assistant API
Assistant API 旨在帮助开发者快速构建大模型应用(Assistant),例如个人助理、智能导购、会议助手等。相比文本生成API,Assistant API 内置了对话管理、知识检索以及多种工具的调用能力,从而降低了此类应用的开发成本。
智能体应用和 Assistant 均为大模型应用,但二者的功能相互独立,其管理方法(创建、读取、更新和删除)也有所不同:
智能体应用:采用无代码/低代码的设计理念,仅可通过控制台进行管理。
Assistant:采用纯代码的设计理念,仅可通过 Assistant API 进行管理。
与文本生成 API 的区别
文本生成 API 的基本要素是消息(Messages),您可以使用模型(Models,如 Qwen-Plus、Qwen-Max 等)生成消息。在使用这种轻量级的 API 时,您需要手动管理对话状态、定义工具、检索知识库和执行代码,才能构建一个简单的智能体应用。
在文本生成 API 的基础上,Assistant API 的基本要素演进为:
消息对象(Messages):封装了对话信息的角色和内容,类似于文本生成 API 的消息。
智能体对象(Assistants):封装了一个基础模型,默认指令和工具。
线程对象(Threads):表示当前的对话状态。
运行对象(Runs):驱动智能体在一个对话线程上执行,包括文本响应和工具使用。
接下来,您将进一步了解这些基本元素的交互方式,以构建一个智能体应用。
交互方式
Assistant API 使用线程(Thread)机制来确保消息按顺序执行,从而维护对话的连贯性。具体流程如下:
创建消息实例:用户使用
Message.create()
方法创建消息实例,将其归属于特定线程,确保消息与上下文正确关联。启动运行环境:使用
Run.create()
函数初始化智能体对象的运行环境,提供消息处理所需的配置。等待结果:调用
wait()
函数等待智能体对象完成处理并返回结果,确保在获取响应前程序保持同步,避免数据乱序。
以一个简单的绘画智能体应用为例:
|
模型支持
Assistant API 不支持模型的快照版本(例如qwen-plus-0919)。模型的兼容性以 Assistant API 的实际执行结果为准,更多详情可参考模型列表。
模型系列 | 模型标识符 |
通义千问-Turbo | qwen-turbo |
通义千问-Plus | qwen-plus |
通义千问-Max | qwen-max |
通义千问2-开源版-57B | qwen2-57b-a14b-instruct |
通义千问2-开源版-72B | qwen2-72b-instruct |
工具支持
插件的兼容性请以 Assistant API 的实际执行结果为准,更多详情可参考插件列表。
工具(tools) | 唯一标识符 | 用途 |
代码解释器插件 | code_interpreter | 帮助执行 Python 代码,适用于编程问题、数学计算、数据分析等场景 |
夸克搜索插件 | quark_search | 用于实时检索网络信息,增强知识获取能力。 |
图片生成插件 | text_to_image | 将文字描述转为图像,丰富回复形式。 |
函数调用(Function calling) | function | 在本地设备上执行特定功能,无需依赖外部网络服务。 |
知识检索增强(RAG) | rag | 检索外部知识,增强大模型回答准确性。 |
自定义插件 | ${plugin_id} | 连接自定义业务接口,扩展 AI 业务能力。 |
快速开始
如需调试大语言模型或快速掌握 Assistant API,请参考: