Assistant API

更新时间: 2024-12-02 21:15:02

Assistant API 是文本生成API的一个演进,旨在简化智能体应用(Assistants)的创建过程,并为开发者提供丰富的工具支持(如函数调用和知识检索增强功能)。

什么是智能体应用

智能体应用是一类 AI 对话助手,具备以下功能特点:

  • 支持多种基础模型:智能体应用可以配置多种基础模型,还可以添加系统提示词(Instructions)以调整模型的个性和能力。

  • 支持多工具调用:智能体应用可以调用多个工具,可以是百炼官方工具(如代码解释器和夸克搜索),也可以是您自己构建的工具(通过函数调用的方式)。

  • 支持对话管理:智能体应用使用线程对象来管理对话。线程对象存储了消息历史记录,并在整个对话超出模型的上下文长度时截断它。您只需创建一次线程对象,然后当用户回复消息时,简单地将消息附加到线程对象中。

体验智能体应用最简单的方式是在控制台上创建智能体应用,这种方式无需编程经验。您也可以按照Assistant API 快速入门指南创建智能体应用,逐步集成到您的业务代码中。

说明

目前,“通过控制台”和“通过 Assistant API”创建的智能体应用(以下简称“控制台版本”和“API版本”),在功能和管理上存在细微差异,具体以实际产品为准:

  • 功能:控制台版本支持长期记忆,API版本暂不支持。

  • 管理:控制台版本只能通过百炼控制台编辑,API版本只能通过 Assistant API 编辑。

与文本生成 API 的区别

文本生成 API 的基本要素是消息(Messages),你可以使用模型(Models,如 Qwen-Plus、Qwen-Max 等)生成消息。在使用这种轻量级的 API 时,您需要手动管理对话状态、定义工具、检索知识库和执行代码,才能构建一个简单的智能体应用。

在文本生成 API 的基础上,Assistant API 的基本要素演进为:

  • 消息对象(Messages):封装了对话信息的角色和内容,类似于文本生成 API 的消息。

  • 智能体对象(Assistants):封装了一个基础模型,默认指令和工具。

  • 线程对象(Threads):表示当前的对话状态。

  • 运行对象(Runs):驱动智能体在一个对话线程上执行,包括文本响应和工具使用。

接下来,您将进一步了解这些基本元素的交互方式,以构建一个智能体应用。

交互方式

Assistant API 使用线程(Thread)机制来确保消息按顺序执行,从而维护对话的连贯性。具体流程如下:

  1. 创建消息实例:用户使用Message.create()方法创建消息实例,将其归属于特定线程,确保消息与上下文正确关联。

  2. 启动运行环境:使用Run.create()函数初始化智能体对象的运行环境,提供消息处理所需的配置。

  3. 等待结果:调用wait()函数等待智能体对象完成处理并返回结果,确保在获取响应前程序保持同步,避免数据乱序。

以一个简单的绘画智能体应用为例:

  • 用户输入:用户输入两条消息:

    • 输入1:“你是一位画家”

    • 输入2:“帮我画一只猫”

  • 消息创建:每个用户输入的消息通过 Message.create() 方法创建并发送到线程。

  • 线程处理:线程通过 Thread.create() 创建会话,接收消息,并传递给智能体对象。

  • 消息传递给智能体:智能体对象收到上下文信息,分别处理每条消息:

    • 消息1(“你是一位画家”)的角色是用户。

    • 消息2(“帮我画一只猫”)的角色也是用户。

  • 智能体的响应:智能体对象处理用户消息后生成相应的回复,输出消息3,角色为智能体,回复内容为“布偶猫[url]”。

  • 运行和等待:运行通过 Run.create() 创建并开始执行,之后智能体在 Run.wait() 阶段等待任务完成。

image

开始使用

如需调试大语言模型或快速掌握 Assistant API,以下文档将为您提供详细指导:

  • 模型体验:在这里,您可以测试大模型的推理能力,从而在构建 Assistant 时选择您偏好的模型。

  • 快速入门:在这里,您可以找到 Assistant API 的基本用法和示例,快速上手构建您的应用。

  • API 手册:在这里,您可以浏览 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)

Assistant API

标识符

用途

代码解释器插件

code_interpreter

帮助执行 Python 代码,适用于编程问题、数学计算、数据分析等场景

夸克搜索插件

quark_search

用于实时检索网络信息,增强知识获取能力。

图片生成插件

text_to_image

将文字描述转为图像,丰富回复形式。

自定义插件

${plugin_id}

连接自定义业务接口,扩展 AI 业务能力。

函数调用(Function calling)

function

在本地设备上执行特定功能,无需依赖外部网络服务。

知识检索增强(RAG)

rag

检索外部知识,增强大模型回答准确性。

说明

插件的兼容性请以 Assistant API 的实际执行结果为准,更多详情可参考插件列表

上一篇: 应用观测 下一篇: 快速入门
阿里云首页 大模型服务平台百炼 相关技术圈