Skip to main content
Assistant API(下线中)

Assistants(下线中)

Assistant API 旨在简化 Assistant(一种大模型应用)的构建流程。本文详细介绍了 Assistant API 提供的各项 Assistant 管理方法,包括 Assistant 的创建、列举、检索、更新和删除操作。

Assistant API下线中,建议迁移至Responses API:内置多种工具,并支持多轮上下文管理,可作为替代方案。
功能介绍:如果您想了解 Assistant API 的功能和基本用法,请参考Assistant API功能概览
有效期限:所有 Assistant 实例均保存在阿里云百炼服务器上,目前没有失效日期,您可通过 assistant.id 检索智能体。
智能体应用(Agent 1.0)和 Assistant 虽然均为大模型应用,但二者的功能相互独立,使用方法也不相同。
  • 智能体应用:仅可使用控制台进行创建、查看、更新和删除,以及通过应用调用 API进行调用。
  • Assistant:仅可使用 Assistant API 创建、查看、更新、删除和调用 Assistant 。

创建智能体

创建一个新的智能体。
  • HTTP
  • SDK
代码示例
curl --location 'https://dashscope.aliyuncs.com/api/v1/assistants' \
--header "Content-Type: application/json" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
    "model": "qwen-max",
    "name": "智能小助手",
    "description": "这是一个智能小助手",
    "instructions": "你是一个智能小助手,你可以根据用户的需求去调用不同的工具,进而给出回答。请酌情使用工具。",
    "tools": [
        {
            "type": "code_interpreter"
        }
    ],
    "metadata": {}
}'
输入参数
参数名描述参数类型是否必须
model智能体所使用的模型str
name智能体使用的名字str
description用于描述智能体的文字str
instructionsSystem prompt 用于智能体里的大模型str
tools一个可以被智能体调用tools list.自定义插件的鉴权信息传递
{
 "type": "${插件id}",
     "auth": {  # 当使用“用户级鉴权”时,才使用这一字段
         "type": "user_http",
         "user_token": "bearer-token",
         }
 }
Optional[List[Dict]]否(default=[])
metadata其他相关参数用于智能体,用于存储其他相关参数Dict
temperature用于控制随机性和多样性的程度。float
top_p生成时,核采样方法的概率阈值。float
top_k生成时,采样候选集的大小。integer
返回结果
{
    "id": "asst_49079f4b-d1e8-4015-a12e-2dcdd1f18d84",
    "object": "assistant",
    "created_at": 1711713885724,
    "model": "qwen-max",
    "name": "智能小助手",
    "description": "这是一个智能小助手",
    "instructions": "你是一个智能小助手,你可以根据用户的需求去调用不同的工具,进而给出回答。请酌情使用工具。",
    "tools": [
        {
            "type": "code_interpreter"
        }
    ],
    "metadata": {},
    "temperature": null,
    "top_p": null,
    "top_k": null,
    "max_tokens": null,
    "request_id": "b1778226-3865-9006-9e95-56329a710322"
}
输出参数一个智能体对象

列出智能体

用于返回智能体列表。
  • HTTP
  • SDK
代码示例
curl --location 'https://dashscope.aliyuncs.com/api/v1/assistants?limit=2&order=desc' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
输入参数

输入参数名字

输入参数的描述

参数类型

是否必须

limit

创建智能体的数量

int

order

按照创建时间升序或降序

str

否(默认为desc

返回结果
{
    "object": "list",
    "data": [
        {
            "id": "asst_0678aa33-43e2-4268-95e6-b0010f9f7937",
            "object": "assistant",
            "created_at": 1711435564909,
            "model": "qwen-max",
            "name": "智能小助手",
            "description": "这是一个智能小助手",
            "instructions": "你是一个智能小助手,你可以根据用户的需求去调用不同的工具,进而给出回答。请酌情使用工具。",
            "tools": [
                {
                    "type": "search"
                },
                {
                    "type": "text_to_image"
                },
                {
                    "type": "code_interpreter"
                }
            ],
            "metadata": {}
        },
        {
            "id": "asst_7af23142-52bc-4218-aa98-dfdb1128f19c",
            "object": "assistant",
            "created_at": 1711422620443,
            "model": "qwen-max",
            "name": "helpful assistant",
            "description": "",
            "instructions": "You are a helpful assistant.",
            "tools": [
                {
                    "type": "text_to_image"
                }
            ],
            "file_ids": [],
            "metadata": {}
        }
    ],
    "first_id": "asst_0678aa33-43e2-4268-95e6-b0010f9f7937",
    "last_id": "asst_7af23142-52bc-4218-aa98-dfdb1128f19c",
    "has_more": true,
    "request_id": "bc257359-ce86-9547-98be-d804effba8d1"
}
输出参数输出一个智能体对象列表。

检索智能体

  • HTTP
  • SDK
代码示例
curl --location 'https://dashscope.aliyuncs.com/api/v1/assistants/asst_0678aa33-43e2-4268-95e6-b0010f9f7937' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
输入参数

输入参数名字

输入参数的描述

参数类型

是否必须

assistant_id

待检索的智能体 ID

str

返回结果
{
    "id": "asst_0678aa33-43e2-4268-95e6-b0010f9f7937",
    "object": "assistant",
    "created_at": 1711435564909,
    "model": "qwen-max",
    "name": "智能小助手",
    "description": "这是一个智能小助手",
    "instructions": "你是一个智能小助手,你可以根据用户的需求去调用不同的工具,进而给出回答。请酌情使用工具。",
    "tools": [
        {
            "type": "search"
        },
        {
            "type": "text_to_image"
        },
        {
            "type": "code_interpreter"
        }
    ],
    "metadata": {},
    "request_id": "f0ec05b0-8813-984c-81b5-1166ae3478d1"
}
输出参数输出检索到的智能体对象

更新智能体

  • HTTP
  • SDK
代码示例
curl --location 'https://dashscope.aliyuncs.com/api/v1/assistants/asst_0678aa33-43e2-4268-95e6-b0010f9f7937' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
    "instructions": "你是一个搜索助手",
    "name": "新建应用-assistantAPI",
    "description": "",
    "model": "qwen-max"
}'
输入参数

输入参数名字

输入参数的描述

参数类型

是否必须

assistant_id

待检索的智能体 ID

str

*

其他可选的输入参数

str

model

智能体所使用的大模型 ID

str

name

智能体使用的名字

str

description

用于描述智能体的文字

str

instructions

System prompt 用于智能体里的大模型

str

tools

一个可以被智能体调用tools list,用户需要在阿里云百炼中被注册

Optional[List[Dict]]

否(default=[])

metadata

其他相关参数用于智能体,用于存储其他相关参数

Dict

返回结果
{
    "id": "asst_0678aa33-43e2-4268-95e6-b0010f9f7937",
    "object": "assistant",
    "created_at": 1711435564909,
    "model": "qwen-max",
    "name": "新建应用-assistantAPI",
    "description": "",
    "instructions": "你是一个搜索助手",
    "tools": [
        {
            "type": "search"
        },
        {
            "type": "text_to_image"
        },
        {
            "type": "code_interpreter"
        }
    ],
    "metadata": {},
    "request_id": "b0993831-a98b-9e71-b235-75174df9046e"
}
输出参数输出更新后的智能体对象

删除智能体

  • HTTP
  • SDK
代码示例
curl --location --request DELETE 'https://dashscope.aliyuncs.com/api/v1/assistants/asst_0678aa33-43e2-4268-95e6-b0010f9f7937' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
输入参数

输入参数名字

输入参数的描述

参数类型

是否必须

assistant_id

待检索的智能体 ID

str

返回结果
{
    "id": "asst_0678aa33-43e2-4268-95e6-b0010f9f7937",
    "object": "assistant.deleted",
    "deleted": true,
    "request_id": "6af9320f-0430-9d01-b92f-d1beb6424dc5"
}
输出参数输出删除智能体后的状态。

智能体对象

一个能够调用模型并使用工具的Assistant对象。 智能体对象示例
{
    "id": "asst_49079f4b-d1e8-4015-a12e-2dcdd1f18d84",
    "object": "assistant",
    "created_at": 1711713885724,
    "model": "qwen-max",
    "name": "智能小助手",
    "description": "这是一个智能小助手",
    "instructions": "你是一个智能小助手,你可以根据用户的需求去调用不同的工具,进而给出回答。请酌情使用工具。",
    "tools": [
        {
            "type": "code_interpreter"
        }
    ],
    "metadata": {},
    "temperature": null,
    "top_p": null,
    "top_k": null,
    "max_tokens": null,
    "request_id": "b1778226-3865-9006-9e95-56329a710322"
}

参数名

数据类型

描述

id

string

智能体唯一标识符,即 assistant ID。

object

string

对象类型,始终为assistant

created_at

integer

创建智能体时的 Unix 13位时间戳(以毫秒为单位)。

model

string

智能体使用的模型名。您可以在Assistant API功能概览查看所有可用模型,或者查看选择模型以了解它们的详情。

name

string

智能体的名称。

description

string

智能体的描述。

instructions

string

智能体使用的系统指令。

tools

array

智能体上启用的工具列表。工具的类型可以是官方插件(code_interpreter 代码解释器、quark_search 夸克搜索、text_to_image 文生图)、知识检索增强(RAG)或函数调用(Function Calling)。

metadata

dict

以结构化格式存储的智能体对象的附加信息。

temperature

float

采样温度,其取值在 0 到 2 之间。较高的值(如 1)会使输出更加随机;而较低的值(如 0.2)则会使输出更加集中和确定。

top_p

float

一种替代温度采样的方法,称为核采样。在这种采样方法中,大模型选取具有前 top_p 的累积概率质量的Token结果。其值为 0.1 表示仅考虑构成前 10% 概率质量的Token。

通常建议调整此参数或temperature,但不要同时调整两者。

top_k

integer

与top_p类似,但样本是从 k 个最高概率的Token中选取的,而不考虑它们的累积概率质量。

不要同时调整此参数和temperaturetop_p

max_tokens

integer

智能体能够一次性生成Token的最大数量。

request_id

string

智能体关联的调用的唯一标识符。

错误码

如果模型调用失败并返回报错信息,请参见错误码进行解决。
Managed Agents
知识检索与问答
应用调用
框架