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,请参考:
