Assistant API 提供的内置会话管理、插件等机制,能够简化大模型应用开发。本文介绍了 Assistant API 的基本概念以及运行机制,以便于您更深入地理解并利用 Assistant API 构建自己的大模型应用。
Assistant
Assistant,常被称作“智能体”或 Agent,是一款集成了大语言模型及多种工具的 AI 应用。它不仅能回答您的问题,还可以执行代码、生成图像、联网搜索,甚至调用您的业务接口或本地函数。
Assistant 支持对话交互管理,能够保存历史消息记录,并允许修改历史消息。如果您对回答不满意,可以要求智能体重新生成;如果您想完善问题,也可以修改后再次请求回答。
运行机制
Assistant 接受用户输入,并由内置的大语言模型判断是否需要调用工具。
如果需要调用工具,大语言模型会选择合适的工具,工具返回结果和用户内容合并后再次输入到大语言模型,由大语言模型生成内容并输出。
如果无需调用工具,大语言模型将直接生成内容并输出。
支持的模型
模型 | 模型标识符 |
通义千问-Turbo | qwen-turbo |
通义千问-Plus | qwen-plus |
通义千问-Max | qwen-max |
通义千问2-开源版-57B | qwen2-57b-a14b-instruct |
通义千问2-开源版-72B | qwen2-72b-instruct |
通义千问2-开源版暂不兼容图片生成工具。最新的兼容性状态,请以 Assistant API 实际执行结果为准。
模型详情可以参考模型列表。
支持的工具
工具(tools) | Assistant API 标识符 | 用途 |
Python 代码解释器插件 | code_interpreter | 帮助 Assistant 执行 Python 代码,适用于编程问题、数学计算、数据分析等。 |
夸克搜索插件 | quark_search | 帮助 Assistant 实时检索网络信息,强化知识获取能力。 |
图片生成插件 | text_to_image | 帮助 Assistant 实现文字转图像功能,根据描述自动生成图片,丰富回应形式。 |
自定义插件 | ${plugin_id} | 帮助 Assistant 接入自定义业务接口,扩展 AI 业务能力。 |
函数调用(Function calling) | function | Assistant 支持调用本地函数,能够在不依赖外部网络服务的条件下,直接执行设备或系统上的特定功能。Assistant 可以根据用户描述自主决定调用函数,并填入恰当的参数。 |
工具详情可以参考新版插件管理。
Assistant API
Assistant API 是一套用于构建 Assistant 的开发工具,旨在简化 Assistant 的创建与管理。
核心组件
Assistant API 包含四个核心组件:
Assistant API 对象 | 功能 |
智能体(Assistant) | 功能强大的 AI 对话助手,结合了大语言模型和多种高级工具。 |
线程(Thread) | 用户和智能体之间的会话线程,用于管理历史会话记录。 |
消息(Message) | 用户发送的消息,以及智能体回复的消息,以列表的形式保存在线程中。 |
运行(Run) | 将线程中存储的上下文信息输入到智能体,以完成一次运行。 |
您可以使用 Assistant API 创建一个类似于百炼智能体应用的 Assistant。Assistant API 的主要组件与百炼智能体应用控制台界面的大致对应关系如下:
运行机制
Assistant API 采用线程(Thread)机制确保消息的有序执行,以此维护对话的时序连贯性。具体流程如下:
创建消息实例:用户通过
Message.create()
方法创建消息实例,该消息归属于特定的线程。这一步骤是初始化消息的基础,确保每条消息都能正确关联到上下文环境。启动 Assistant 运行环境:利用
Run.create()
函数来初始化 Assistant 的执行环境。这为消息的处理提供了必要的运行时配置。等待输出结果:调用
wait()
函数等待 Assistant 完成处理并返回结果。这一环节保证了程序在获取响应前保持同步,避免了数据乱序的风险。
Assistant API 内部实现了一个基于 Thread 的顺序消息队列,该队列自动依据消息的创建时间进行排序。这意味着 Assistant 将严格按照消息的时间顺序来接收和处理输入,从而产生与之对应的响应。
Assistant API 支持连续消息的无缝整合,不论是连续的用户查询还是智能体的连续反馈,都能在对话流程中平滑过渡。这种设计不仅增强了对话的自然流畅度,还显著提高了多轮交互的效率和体验。
开始使用
如需调试大语言模型的推理能力,请访问模型调试。
如需迅速掌握 Assistant API,请访问快速入门。
如需了解 API 的示例与参数,请访问Assistant API。