AI 智能体
具备长期记忆的多工具编排,可跨多轮对话使用。
智能体在服务器端维护对话状态:它会调用模型,自动执行其内置工具(记忆功能),并且只有在存在最终回复,或需要执行您自己定义的工具时,才会将控制权交还给您。
创建一个对话
http
POST /v1/agents/conversationsjson
{
"model": null,
"routing_strategy": "auto",
"system_prompt": "Tu es un assistant utile et concis.",
"tools": []
}tools 用于声明您自己的自定义工具(见下文)——内置工具(记忆、视频生成)始终可用,无需另行声明。
发送一条消息
http
POST /v1/agents/conversations/{id}/messagesjson
{ "content": "Retiens que mon fournisseur prefere est Anthropic." }响应始终是该对话的完整状态:
json
{
"id": "1a63c0df-...",
"model": null,
"routing_strategy": "auto",
"status": "idle",
"messages": [
{ "id": "...", "role": "user", "content": "Retiens que mon fournisseur prefere est Anthropic.", "tool_calls": null, "tool_call_id": null },
{ "id": "...", "role": "assistant", "content": "", "tool_calls": [{ "id": "call_1", "name": "remember", "arguments": { "content": "Fournisseur prefere : Anthropic" } }], "tool_call_id": null },
{ "id": "...", "role": "tool", "content": "Memoire enregistree (id=...)", "tool_call_id": "call_1" },
{ "id": "...", "role": "assistant", "content": "C'est note !", "tool_calls": null, "tool_call_id": null }
],
"created_at": "...",
"updated_at": "..."
}status 的取值为 idle(可发送新消息)、requires_action(您的某个自定义工具正在等待结果),或 generating_media(正在进行视频生成,见下文)。
内置工具
search_memory— 在智能体的长期记忆中检索(参数query,可选top_k)remember— 保存一条信息(参数content)generate_video— 发起一次视频生成(参数与POST /v1/video/generate相同:prompt、duration_seconds、narration_text、scenes— 参见视频指南)
这三个工具均由服务器自动执行——您无需进行任何操作,对话会自行继续(generate_video 除外,它会在任务完成期间将对话置于 generating_media 状态;请轮询 GET /v1/agents/conversations/{id} 直到状态变为 idle)。
自定义工具
在创建对话时声明您自己的工具(tools)。当模型调用它们时,状态会变为 requires_action,对话随即暂停——需要由您执行该工具并返回结果:
http
POST /v1/agents/conversations/{id}/tool-outputsjson
{
"outputs": [
{ "tool_call_id": "call_2", "output": "18C, nuageux" }
]
}如果对话不处于
idle 状态,POST .../messages 会返回 409 conflict——请等待待处理的工具调用得到解决后再发送新消息。列出 / 查看
bash
GET /v1/agents/conversations # liste (resume, sans les messages)
GET /v1/agents/conversations/{id} # detail complet