ИИ-агенты
Оркестрация нескольких инструментов с долговременной памятью на протяжении нескольких ходов диалога.
Агент поддерживает состояние диалога на стороне сервера: он вызывает модель, автоматически выполняет встроенные инструменты (память) и возвращает управление вам только тогда, когда получен окончательный ответ или требуется выполнить инструмент, определённый вами.
Создание диалога
POST /v1/agents/conversations{
"model": null,
"routing_strategy": "auto",
"system_prompt": "Tu es un assistant utile et concis.",
"tools": []
}tools объявляет ваши собственные пользовательские инструменты (см. ниже) — встроенные инструменты (память, генерация видео) всегда доступны без необходимости их объявления.
Отправка сообщения
POST /v1/agents/conversations/{id}/messages{ "content": "Retiens que mon fournisseur prefere est Anthropic." }Ответ всегда представляет собой полное состояние диалога:
{
"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, и диалог останавливается — вам нужно выполнить инструмент и вернуть результат:
POST /v1/agents/conversations/{id}/tool-outputs{
"outputs": [
{ "tool_call_id": "call_2", "output": "18C, nuageux" }
]
}POST .../messages возвращает 409 conflict, если диалог не находится в состоянии idle — дождитесь разрешения ожидающего инструмента, прежде чем отправлять новое сообщение.Получение списка / просмотр
GET /v1/agents/conversations # liste (resume, sans les messages)
GET /v1/agents/conversations/{id} # detail complet