mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-08-12 04:50:39 +00:00
agents api doc
This commit is contained in:
parent
dd0db8038b
commit
c30cba9db2
3 changed files with 324 additions and 77 deletions
168
docs/_static/llama-stack-spec.html
vendored
168
docs/_static/llama-stack-spec.html
vendored
|
@ -362,7 +362,7 @@
|
|||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"description": "An AgentCreateResponse with the agent ID.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
|
@ -387,7 +387,7 @@
|
|||
"tags": [
|
||||
"Agents"
|
||||
],
|
||||
"description": "",
|
||||
"description": "Create an agent with the given configuration.",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"content": {
|
||||
|
@ -405,7 +405,7 @@
|
|||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"description": "An AgentSessionCreateResponse.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
|
@ -430,11 +430,12 @@
|
|||
"tags": [
|
||||
"Agents"
|
||||
],
|
||||
"description": "",
|
||||
"description": "Create a new session for an agent.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "agent_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the agent to create the session for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -457,7 +458,7 @@
|
|||
"post": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "A single turn in an interaction with an Agentic System. **OR** streamed agent turn completion response.",
|
||||
"description": "If stream=False, returns a Turn object. If stream=True, returns an SSE event stream of AgentTurnResponseStreamChunk",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
|
@ -487,11 +488,12 @@
|
|||
"tags": [
|
||||
"Agents"
|
||||
],
|
||||
"description": "",
|
||||
"description": "Create a new turn for an agent.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "agent_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the agent to create the turn for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -500,6 +502,7 @@
|
|||
{
|
||||
"name": "session_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the session to create the turn for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -623,11 +626,12 @@
|
|||
"tags": [
|
||||
"Agents"
|
||||
],
|
||||
"description": "",
|
||||
"description": "Delete an agent by its ID.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "agent_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the agent to delete.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -665,11 +669,12 @@
|
|||
"tags": [
|
||||
"Agents"
|
||||
],
|
||||
"description": "",
|
||||
"description": "Retrieve an agent session by its ID.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "session_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the session to get.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -678,6 +683,7 @@
|
|||
{
|
||||
"name": "agent_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the agent to get the session for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -686,6 +692,7 @@
|
|||
{
|
||||
"name": "turn_ids",
|
||||
"in": "query",
|
||||
"description": "(Optional) List of turn IDs to filter the session by.",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "array",
|
||||
|
@ -717,11 +724,12 @@
|
|||
"tags": [
|
||||
"Agents"
|
||||
],
|
||||
"description": "",
|
||||
"description": "Delete an agent session by its ID.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "session_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the session to delete.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -730,6 +738,7 @@
|
|||
{
|
||||
"name": "agent_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the agent to delete the session for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -939,7 +948,7 @@
|
|||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"description": "An AgentStepResponse.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
|
@ -964,11 +973,12 @@
|
|||
"tags": [
|
||||
"Agents"
|
||||
],
|
||||
"description": "",
|
||||
"description": "Retrieve an agent step by its ID.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "agent_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the agent to get the step for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -977,6 +987,7 @@
|
|||
{
|
||||
"name": "session_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the session to get the step for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -985,6 +996,7 @@
|
|||
{
|
||||
"name": "turn_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the turn to get the step for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -993,6 +1005,7 @@
|
|||
{
|
||||
"name": "step_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the step to get.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -1005,7 +1018,7 @@
|
|||
"get": {
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "OK",
|
||||
"description": "A Turn.",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
|
@ -1030,11 +1043,12 @@
|
|||
"tags": [
|
||||
"Agents"
|
||||
],
|
||||
"description": "",
|
||||
"description": "Retrieve an agent turn by its ID.",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "agent_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the agent to get the turn for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -1043,6 +1057,7 @@
|
|||
{
|
||||
"name": "session_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the session to get the turn for.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -1051,6 +1066,7 @@
|
|||
{
|
||||
"name": "turn_id",
|
||||
"in": "path",
|
||||
"description": "The ID of the turn to get.",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
|
@ -5192,7 +5208,8 @@
|
|||
"type": "object",
|
||||
"properties": {
|
||||
"agent_config": {
|
||||
"$ref": "#/components/schemas/AgentConfig"
|
||||
"$ref": "#/components/schemas/AgentConfig",
|
||||
"description": "The configuration for the agent."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
@ -5218,7 +5235,8 @@
|
|||
"type": "object",
|
||||
"properties": {
|
||||
"session_name": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The name of the session to create."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
@ -5254,10 +5272,12 @@
|
|||
"$ref": "#/components/schemas/ToolResponseMessage"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"description": "List of messages to start the turn with."
|
||||
},
|
||||
"stream": {
|
||||
"type": "boolean"
|
||||
"type": "boolean",
|
||||
"description": "(Optional) If True, generate an SSE event stream of the response. Defaults to False."
|
||||
},
|
||||
"documents": {
|
||||
"type": "array",
|
||||
|
@ -5281,10 +5301,12 @@
|
|||
{
|
||||
"$ref": "#/components/schemas/URL"
|
||||
}
|
||||
]
|
||||
],
|
||||
"description": "The content of the document."
|
||||
},
|
||||
"mime_type": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The MIME type of the document."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
@ -5292,17 +5314,21 @@
|
|||
"content",
|
||||
"mime_type"
|
||||
],
|
||||
"title": "Document"
|
||||
}
|
||||
"title": "Document",
|
||||
"description": "A document to be used by an agent."
|
||||
},
|
||||
"description": "(Optional) List of documents to create the turn with."
|
||||
},
|
||||
"toolgroups": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/AgentTool"
|
||||
}
|
||||
},
|
||||
"description": "(Optional) List of toolgroups to create the turn with, will be used in addition to the agent's config toolgroups for the request."
|
||||
},
|
||||
"tool_config": {
|
||||
"$ref": "#/components/schemas/ToolConfig"
|
||||
"$ref": "#/components/schemas/ToolConfig",
|
||||
"description": "(Optional) The tool configuration to create the turn with, will be used to override the agent's tool_config."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
@ -5315,18 +5341,22 @@
|
|||
"type": "object",
|
||||
"properties": {
|
||||
"turn_id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The ID of the turn."
|
||||
},
|
||||
"step_id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The ID of the step."
|
||||
},
|
||||
"started_at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
"format": "date-time",
|
||||
"description": "The time the step started."
|
||||
},
|
||||
"completed_at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
"format": "date-time",
|
||||
"description": "The time the step completed."
|
||||
},
|
||||
"step_type": {
|
||||
"type": "string",
|
||||
|
@ -5334,7 +5364,8 @@
|
|||
"default": "inference"
|
||||
},
|
||||
"model_response": {
|
||||
"$ref": "#/components/schemas/CompletionMessage"
|
||||
"$ref": "#/components/schemas/CompletionMessage",
|
||||
"description": "The response from the LLM."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
@ -5344,24 +5375,29 @@
|
|||
"step_type",
|
||||
"model_response"
|
||||
],
|
||||
"title": "InferenceStep"
|
||||
"title": "InferenceStep",
|
||||
"description": "An inference step in an agent turn."
|
||||
},
|
||||
"MemoryRetrievalStep": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"turn_id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The ID of the turn."
|
||||
},
|
||||
"step_id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The ID of the step."
|
||||
},
|
||||
"started_at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
"format": "date-time",
|
||||
"description": "The time the step started."
|
||||
},
|
||||
"completed_at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
"format": "date-time",
|
||||
"description": "The time the step completed."
|
||||
},
|
||||
"step_type": {
|
||||
"type": "string",
|
||||
|
@ -5369,10 +5405,12 @@
|
|||
"default": "memory_retrieval"
|
||||
},
|
||||
"vector_db_ids": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The IDs of the vector databases to retrieve context from."
|
||||
},
|
||||
"inserted_context": {
|
||||
"$ref": "#/components/schemas/InterleavedContent"
|
||||
"$ref": "#/components/schemas/InterleavedContent",
|
||||
"description": "The context retrieved from the vector databases."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
@ -5383,7 +5421,8 @@
|
|||
"vector_db_ids",
|
||||
"inserted_context"
|
||||
],
|
||||
"title": "MemoryRetrievalStep"
|
||||
"title": "MemoryRetrievalStep",
|
||||
"description": "A memory retrieval step in an agent turn."
|
||||
},
|
||||
"SafetyViolation": {
|
||||
"type": "object",
|
||||
|
@ -5431,18 +5470,22 @@
|
|||
"type": "object",
|
||||
"properties": {
|
||||
"turn_id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The ID of the turn."
|
||||
},
|
||||
"step_id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The ID of the step."
|
||||
},
|
||||
"started_at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
"format": "date-time",
|
||||
"description": "The time the step started."
|
||||
},
|
||||
"completed_at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
"format": "date-time",
|
||||
"description": "The time the step completed."
|
||||
},
|
||||
"step_type": {
|
||||
"type": "string",
|
||||
|
@ -5450,7 +5493,8 @@
|
|||
"default": "shield_call"
|
||||
},
|
||||
"violation": {
|
||||
"$ref": "#/components/schemas/SafetyViolation"
|
||||
"$ref": "#/components/schemas/SafetyViolation",
|
||||
"description": "The violation from the shield call."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
@ -5459,24 +5503,29 @@
|
|||
"step_id",
|
||||
"step_type"
|
||||
],
|
||||
"title": "ShieldCallStep"
|
||||
"title": "ShieldCallStep",
|
||||
"description": "A shield call step in an agent turn."
|
||||
},
|
||||
"ToolExecutionStep": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"turn_id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The ID of the turn."
|
||||
},
|
||||
"step_id": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The ID of the step."
|
||||
},
|
||||
"started_at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
"format": "date-time",
|
||||
"description": "The time the step started."
|
||||
},
|
||||
"completed_at": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
"format": "date-time",
|
||||
"description": "The time the step completed."
|
||||
},
|
||||
"step_type": {
|
||||
"type": "string",
|
||||
|
@ -5487,13 +5536,15 @@
|
|||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/ToolCall"
|
||||
}
|
||||
},
|
||||
"description": "The tool calls to execute."
|
||||
},
|
||||
"tool_responses": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/ToolResponse"
|
||||
}
|
||||
},
|
||||
"description": "The tool responses from the tool calls."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
@ -5504,7 +5555,8 @@
|
|||
"tool_calls",
|
||||
"tool_responses"
|
||||
],
|
||||
"title": "ToolExecutionStep"
|
||||
"title": "ToolExecutionStep",
|
||||
"description": "A tool execution step in an agent turn."
|
||||
},
|
||||
"ToolResponse": {
|
||||
"type": "object",
|
||||
|
@ -5641,10 +5693,12 @@
|
|||
{
|
||||
"$ref": "#/components/schemas/URL"
|
||||
}
|
||||
]
|
||||
],
|
||||
"description": "The content of the attachment."
|
||||
},
|
||||
"mime_type": {
|
||||
"type": "string"
|
||||
"type": "string",
|
||||
"description": "The MIME type of the attachment."
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
|
@ -5652,7 +5706,8 @@
|
|||
"content",
|
||||
"mime_type"
|
||||
],
|
||||
"title": "Attachment"
|
||||
"title": "Attachment",
|
||||
"description": "An attachment to an agent turn."
|
||||
}
|
||||
},
|
||||
"started_at": {
|
||||
|
@ -5747,7 +5802,8 @@
|
|||
"shield_call",
|
||||
"memory_retrieval"
|
||||
],
|
||||
"title": "StepType"
|
||||
"title": "StepType",
|
||||
"description": "Type of the step in an agent turn."
|
||||
},
|
||||
"step_id": {
|
||||
"type": "string"
|
||||
|
@ -5803,7 +5859,8 @@
|
|||
"shield_call",
|
||||
"memory_retrieval"
|
||||
],
|
||||
"title": "StepType"
|
||||
"title": "StepType",
|
||||
"description": "Type of the step in an agent turn."
|
||||
},
|
||||
"step_id": {
|
||||
"type": "string"
|
||||
|
@ -5837,7 +5894,8 @@
|
|||
"shield_call",
|
||||
"memory_retrieval"
|
||||
],
|
||||
"title": "StepType"
|
||||
"title": "StepType",
|
||||
"description": "Type of the step in an agent turn."
|
||||
},
|
||||
"step_id": {
|
||||
"type": "string"
|
||||
|
|
106
docs/_static/llama-stack-spec.yaml
vendored
106
docs/_static/llama-stack-spec.yaml
vendored
|
@ -234,7 +234,8 @@ paths:
|
|||
post:
|
||||
responses:
|
||||
'200':
|
||||
description: OK
|
||||
description: >-
|
||||
An AgentCreateResponse with the agent ID.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
|
@ -251,7 +252,8 @@ paths:
|
|||
$ref: '#/components/responses/DefaultError'
|
||||
tags:
|
||||
- Agents
|
||||
description: ''
|
||||
description: >-
|
||||
Create an agent with the given configuration.
|
||||
parameters: []
|
||||
requestBody:
|
||||
content:
|
||||
|
@ -263,7 +265,7 @@ paths:
|
|||
post:
|
||||
responses:
|
||||
'200':
|
||||
description: OK
|
||||
description: An AgentSessionCreateResponse.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
|
@ -280,10 +282,12 @@ paths:
|
|||
$ref: '#/components/responses/DefaultError'
|
||||
tags:
|
||||
- Agents
|
||||
description: ''
|
||||
description: Create a new session for an agent.
|
||||
parameters:
|
||||
- name: agent_id
|
||||
in: path
|
||||
description: >-
|
||||
The ID of the agent to create the session for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
|
@ -298,8 +302,8 @@ paths:
|
|||
responses:
|
||||
'200':
|
||||
description: >-
|
||||
A single turn in an interaction with an Agentic System. **OR** streamed
|
||||
agent turn completion response.
|
||||
If stream=False, returns a Turn object. If stream=True, returns an SSE
|
||||
event stream of AgentTurnResponseStreamChunk
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
|
@ -319,15 +323,19 @@ paths:
|
|||
$ref: '#/components/responses/DefaultError'
|
||||
tags:
|
||||
- Agents
|
||||
description: ''
|
||||
description: Create a new turn for an agent.
|
||||
parameters:
|
||||
- name: agent_id
|
||||
in: path
|
||||
description: >-
|
||||
The ID of the agent to create the turn for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: session_id
|
||||
in: path
|
||||
description: >-
|
||||
The ID of the session to create the turn for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
|
@ -411,10 +419,11 @@ paths:
|
|||
$ref: '#/components/responses/DefaultError'
|
||||
tags:
|
||||
- Agents
|
||||
description: ''
|
||||
description: Delete an agent by its ID.
|
||||
parameters:
|
||||
- name: agent_id
|
||||
in: path
|
||||
description: The ID of the agent to delete.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
|
@ -439,20 +448,25 @@ paths:
|
|||
$ref: '#/components/responses/DefaultError'
|
||||
tags:
|
||||
- Agents
|
||||
description: ''
|
||||
description: Retrieve an agent session by its ID.
|
||||
parameters:
|
||||
- name: session_id
|
||||
in: path
|
||||
description: The ID of the session to get.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: agent_id
|
||||
in: path
|
||||
description: >-
|
||||
The ID of the agent to get the session for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: turn_ids
|
||||
in: query
|
||||
description: >-
|
||||
(Optional) List of turn IDs to filter the session by.
|
||||
required: false
|
||||
schema:
|
||||
type: array
|
||||
|
@ -474,15 +488,18 @@ paths:
|
|||
$ref: '#/components/responses/DefaultError'
|
||||
tags:
|
||||
- Agents
|
||||
description: ''
|
||||
description: Delete an agent session by its ID.
|
||||
parameters:
|
||||
- name: session_id
|
||||
in: path
|
||||
description: The ID of the session to delete.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: agent_id
|
||||
in: path
|
||||
description: >-
|
||||
The ID of the agent to delete the session for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
|
@ -630,7 +647,7 @@ paths:
|
|||
get:
|
||||
responses:
|
||||
'200':
|
||||
description: OK
|
||||
description: An AgentStepResponse.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
|
@ -647,25 +664,30 @@ paths:
|
|||
$ref: '#/components/responses/DefaultError'
|
||||
tags:
|
||||
- Agents
|
||||
description: ''
|
||||
description: Retrieve an agent step by its ID.
|
||||
parameters:
|
||||
- name: agent_id
|
||||
in: path
|
||||
description: The ID of the agent to get the step for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: session_id
|
||||
in: path
|
||||
description: >-
|
||||
The ID of the session to get the step for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: turn_id
|
||||
in: path
|
||||
description: The ID of the turn to get the step for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: step_id
|
||||
in: path
|
||||
description: The ID of the step to get.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
|
@ -673,7 +695,7 @@ paths:
|
|||
get:
|
||||
responses:
|
||||
'200':
|
||||
description: OK
|
||||
description: A Turn.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
|
@ -690,20 +712,24 @@ paths:
|
|||
$ref: '#/components/responses/DefaultError'
|
||||
tags:
|
||||
- Agents
|
||||
description: ''
|
||||
description: Retrieve an agent turn by its ID.
|
||||
parameters:
|
||||
- name: agent_id
|
||||
in: path
|
||||
description: The ID of the agent to get the turn for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: session_id
|
||||
in: path
|
||||
description: >-
|
||||
The ID of the session to get the turn for.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
- name: turn_id
|
||||
in: path
|
||||
description: The ID of the turn to get.
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
|
@ -3567,6 +3593,7 @@ components:
|
|||
properties:
|
||||
agent_config:
|
||||
$ref: '#/components/schemas/AgentConfig'
|
||||
description: The configuration for the agent.
|
||||
additionalProperties: false
|
||||
required:
|
||||
- agent_config
|
||||
|
@ -3585,6 +3612,7 @@ components:
|
|||
properties:
|
||||
session_name:
|
||||
type: string
|
||||
description: The name of the session to create.
|
||||
additionalProperties: false
|
||||
required:
|
||||
- session_name
|
||||
|
@ -3607,8 +3635,12 @@ components:
|
|||
oneOf:
|
||||
- $ref: '#/components/schemas/UserMessage'
|
||||
- $ref: '#/components/schemas/ToolResponseMessage'
|
||||
description: List of messages to start the turn with.
|
||||
stream:
|
||||
type: boolean
|
||||
description: >-
|
||||
(Optional) If True, generate an SSE event stream of the response. Defaults
|
||||
to False.
|
||||
documents:
|
||||
type: array
|
||||
items:
|
||||
|
@ -3622,19 +3654,30 @@ components:
|
|||
items:
|
||||
$ref: '#/components/schemas/InterleavedContentItem'
|
||||
- $ref: '#/components/schemas/URL'
|
||||
description: The content of the document.
|
||||
mime_type:
|
||||
type: string
|
||||
description: The MIME type of the document.
|
||||
additionalProperties: false
|
||||
required:
|
||||
- content
|
||||
- mime_type
|
||||
title: Document
|
||||
description: A document to be used by an agent.
|
||||
description: >-
|
||||
(Optional) List of documents to create the turn with.
|
||||
toolgroups:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/AgentTool'
|
||||
description: >-
|
||||
(Optional) List of toolgroups to create the turn with, will be used in
|
||||
addition to the agent's config toolgroups for the request.
|
||||
tool_config:
|
||||
$ref: '#/components/schemas/ToolConfig'
|
||||
description: >-
|
||||
(Optional) The tool configuration to create the turn with, will be used
|
||||
to override the agent's tool_config.
|
||||
additionalProperties: false
|
||||
required:
|
||||
- messages
|
||||
|
@ -3644,20 +3687,25 @@ components:
|
|||
properties:
|
||||
turn_id:
|
||||
type: string
|
||||
description: The ID of the turn.
|
||||
step_id:
|
||||
type: string
|
||||
description: The ID of the step.
|
||||
started_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The time the step started.
|
||||
completed_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The time the step completed.
|
||||
step_type:
|
||||
type: string
|
||||
const: inference
|
||||
default: inference
|
||||
model_response:
|
||||
$ref: '#/components/schemas/CompletionMessage'
|
||||
description: The response from the LLM.
|
||||
additionalProperties: false
|
||||
required:
|
||||
- turn_id
|
||||
|
@ -3665,27 +3713,36 @@ components:
|
|||
- step_type
|
||||
- model_response
|
||||
title: InferenceStep
|
||||
description: An inference step in an agent turn.
|
||||
MemoryRetrievalStep:
|
||||
type: object
|
||||
properties:
|
||||
turn_id:
|
||||
type: string
|
||||
description: The ID of the turn.
|
||||
step_id:
|
||||
type: string
|
||||
description: The ID of the step.
|
||||
started_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The time the step started.
|
||||
completed_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The time the step completed.
|
||||
step_type:
|
||||
type: string
|
||||
const: memory_retrieval
|
||||
default: memory_retrieval
|
||||
vector_db_ids:
|
||||
type: string
|
||||
description: >-
|
||||
The IDs of the vector databases to retrieve context from.
|
||||
inserted_context:
|
||||
$ref: '#/components/schemas/InterleavedContent'
|
||||
description: >-
|
||||
The context retrieved from the vector databases.
|
||||
additionalProperties: false
|
||||
required:
|
||||
- turn_id
|
||||
|
@ -3694,6 +3751,8 @@ components:
|
|||
- vector_db_ids
|
||||
- inserted_context
|
||||
title: MemoryRetrievalStep
|
||||
description: >-
|
||||
A memory retrieval step in an agent turn.
|
||||
SafetyViolation:
|
||||
type: object
|
||||
properties:
|
||||
|
@ -3721,39 +3780,49 @@ components:
|
|||
properties:
|
||||
turn_id:
|
||||
type: string
|
||||
description: The ID of the turn.
|
||||
step_id:
|
||||
type: string
|
||||
description: The ID of the step.
|
||||
started_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The time the step started.
|
||||
completed_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The time the step completed.
|
||||
step_type:
|
||||
type: string
|
||||
const: shield_call
|
||||
default: shield_call
|
||||
violation:
|
||||
$ref: '#/components/schemas/SafetyViolation'
|
||||
description: The violation from the shield call.
|
||||
additionalProperties: false
|
||||
required:
|
||||
- turn_id
|
||||
- step_id
|
||||
- step_type
|
||||
title: ShieldCallStep
|
||||
description: A shield call step in an agent turn.
|
||||
ToolExecutionStep:
|
||||
type: object
|
||||
properties:
|
||||
turn_id:
|
||||
type: string
|
||||
description: The ID of the turn.
|
||||
step_id:
|
||||
type: string
|
||||
description: The ID of the step.
|
||||
started_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The time the step started.
|
||||
completed_at:
|
||||
type: string
|
||||
format: date-time
|
||||
description: The time the step completed.
|
||||
step_type:
|
||||
type: string
|
||||
const: tool_execution
|
||||
|
@ -3762,10 +3831,12 @@ components:
|
|||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/ToolCall'
|
||||
description: The tool calls to execute.
|
||||
tool_responses:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/ToolResponse'
|
||||
description: The tool responses from the tool calls.
|
||||
additionalProperties: false
|
||||
required:
|
||||
- turn_id
|
||||
|
@ -3774,6 +3845,7 @@ components:
|
|||
- tool_calls
|
||||
- tool_responses
|
||||
title: ToolExecutionStep
|
||||
description: A tool execution step in an agent turn.
|
||||
ToolResponse:
|
||||
type: object
|
||||
properties:
|
||||
|
@ -3850,13 +3922,16 @@ components:
|
|||
items:
|
||||
$ref: '#/components/schemas/InterleavedContentItem'
|
||||
- $ref: '#/components/schemas/URL'
|
||||
description: The content of the attachment.
|
||||
mime_type:
|
||||
type: string
|
||||
description: The MIME type of the attachment.
|
||||
additionalProperties: false
|
||||
required:
|
||||
- content
|
||||
- mime_type
|
||||
title: Attachment
|
||||
description: An attachment to an agent turn.
|
||||
started_at:
|
||||
type: string
|
||||
format: date-time
|
||||
|
@ -3922,6 +3997,7 @@ components:
|
|||
- shield_call
|
||||
- memory_retrieval
|
||||
title: StepType
|
||||
description: Type of the step in an agent turn.
|
||||
step_id:
|
||||
type: string
|
||||
step_details:
|
||||
|
@ -3959,6 +4035,7 @@ components:
|
|||
- shield_call
|
||||
- memory_retrieval
|
||||
title: StepType
|
||||
description: Type of the step in an agent turn.
|
||||
step_id:
|
||||
type: string
|
||||
delta:
|
||||
|
@ -3985,6 +4062,7 @@ components:
|
|||
- shield_call
|
||||
- memory_retrieval
|
||||
title: StepType
|
||||
description: Type of the step in an agent turn.
|
||||
step_id:
|
||||
type: string
|
||||
metadata:
|
||||
|
|
|
@ -41,16 +41,36 @@ from llama_stack.schema_utils import json_schema_type, register_schema, webmetho
|
|||
|
||||
|
||||
class Attachment(BaseModel):
|
||||
"""An attachment to an agent turn.
|
||||
|
||||
:param content: The content of the attachment.
|
||||
:param mime_type: The MIME type of the attachment.
|
||||
"""
|
||||
|
||||
content: InterleavedContent | URL
|
||||
mime_type: str
|
||||
|
||||
|
||||
class Document(BaseModel):
|
||||
"""A document to be used by an agent.
|
||||
|
||||
:param content: The content of the document.
|
||||
:param mime_type: The MIME type of the document.
|
||||
"""
|
||||
|
||||
content: InterleavedContent | URL
|
||||
mime_type: str
|
||||
|
||||
|
||||
class StepCommon(BaseModel):
|
||||
"""A common step in an agent turn.
|
||||
|
||||
:param turn_id: The ID of the turn.
|
||||
:param step_id: The ID of the step.
|
||||
:param started_at: The time the step started.
|
||||
:param completed_at: The time the step completed.
|
||||
"""
|
||||
|
||||
turn_id: str
|
||||
step_id: str
|
||||
started_at: Optional[datetime] = None
|
||||
|
@ -58,6 +78,14 @@ class StepCommon(BaseModel):
|
|||
|
||||
|
||||
class StepType(Enum):
|
||||
"""Type of the step in an agent turn.
|
||||
|
||||
:cvar inference: The step is an inference step that calls an LLM.
|
||||
:cvar tool_execution: The step is a tool execution step that executes a tool call.
|
||||
:cvar shield_call: The step is a shield call step that checks for safety violations.
|
||||
:cvar memory_retrieval: The step is a memory retrieval step that retrieves context for vector dbs.
|
||||
"""
|
||||
|
||||
inference = "inference"
|
||||
tool_execution = "tool_execution"
|
||||
shield_call = "shield_call"
|
||||
|
@ -66,6 +94,11 @@ class StepType(Enum):
|
|||
|
||||
@json_schema_type
|
||||
class InferenceStep(StepCommon):
|
||||
"""An inference step in an agent turn.
|
||||
|
||||
:param model_response: The response from the LLM.
|
||||
"""
|
||||
|
||||
model_config = ConfigDict(protected_namespaces=())
|
||||
|
||||
step_type: Literal[StepType.inference.value] = StepType.inference.value
|
||||
|
@ -74,6 +107,12 @@ class InferenceStep(StepCommon):
|
|||
|
||||
@json_schema_type
|
||||
class ToolExecutionStep(StepCommon):
|
||||
"""A tool execution step in an agent turn.
|
||||
|
||||
:param tool_calls: The tool calls to execute.
|
||||
:param tool_responses: The tool responses from the tool calls.
|
||||
"""
|
||||
|
||||
step_type: Literal[StepType.tool_execution.value] = StepType.tool_execution.value
|
||||
tool_calls: List[ToolCall]
|
||||
tool_responses: List[ToolResponse]
|
||||
|
@ -81,13 +120,25 @@ class ToolExecutionStep(StepCommon):
|
|||
|
||||
@json_schema_type
|
||||
class ShieldCallStep(StepCommon):
|
||||
"""A shield call step in an agent turn.
|
||||
|
||||
:param violation: The violation from the shield call.
|
||||
"""
|
||||
|
||||
step_type: Literal[StepType.shield_call.value] = StepType.shield_call.value
|
||||
violation: Optional[SafetyViolation]
|
||||
|
||||
|
||||
@json_schema_type
|
||||
class MemoryRetrievalStep(StepCommon):
|
||||
"""A memory retrieval step in an agent turn.
|
||||
|
||||
:param vector_db_ids: The IDs of the vector databases to retrieve context from.
|
||||
:param inserted_context: The context retrieved from the vector databases.
|
||||
"""
|
||||
|
||||
step_type: Literal[StepType.memory_retrieval.value] = StepType.memory_retrieval.value
|
||||
# TODO: should this be List[str]?
|
||||
vector_db_ids: str
|
||||
inserted_context: InterleavedContent
|
||||
|
||||
|
@ -335,7 +386,13 @@ class Agents(Protocol):
|
|||
async def create_agent(
|
||||
self,
|
||||
agent_config: AgentConfig,
|
||||
) -> AgentCreateResponse: ...
|
||||
) -> AgentCreateResponse:
|
||||
"""Create an agent with the given configuration.
|
||||
|
||||
:param agent_config: The configuration for the agent.
|
||||
:returns: An AgentCreateResponse with the agent ID.
|
||||
"""
|
||||
...
|
||||
|
||||
@webmethod(route="/agents/{agent_id}/session/{session_id}/turn", method="POST")
|
||||
async def create_agent_turn(
|
||||
|
@ -352,7 +409,19 @@ class Agents(Protocol):
|
|||
documents: Optional[List[Document]] = None,
|
||||
toolgroups: Optional[List[AgentToolGroup]] = None,
|
||||
tool_config: Optional[ToolConfig] = None,
|
||||
) -> Union[Turn, AsyncIterator[AgentTurnResponseStreamChunk]]: ...
|
||||
) -> Union[Turn, AsyncIterator[AgentTurnResponseStreamChunk]]:
|
||||
"""Create a new turn for an agent.
|
||||
|
||||
:param agent_id: The ID of the agent to create the turn for.
|
||||
:param session_id: The ID of the session to create the turn for.
|
||||
:param messages: List of messages to start the turn with.
|
||||
:param stream: (Optional) If True, generate an SSE event stream of the response. Defaults to False.
|
||||
:param documents: (Optional) List of documents to create the turn with.
|
||||
:param toolgroups: (Optional) List of toolgroups to create the turn with, will be used in addition to the agent's config toolgroups for the request.
|
||||
:param tool_config: (Optional) The tool configuration to create the turn with, will be used to override the agent's tool_config.
|
||||
:returns: If stream=False, returns a Turn object.
|
||||
If stream=True, returns an SSE event stream of AgentTurnResponseStreamChunk
|
||||
"""
|
||||
|
||||
@webmethod(
|
||||
route="/agents/{agent_id}/session/{session_id}/turn/{turn_id}/resume",
|
||||
|
@ -388,7 +457,15 @@ class Agents(Protocol):
|
|||
agent_id: str,
|
||||
session_id: str,
|
||||
turn_id: str,
|
||||
) -> Turn: ...
|
||||
) -> Turn:
|
||||
"""Retrieve an agent turn by its ID.
|
||||
|
||||
:param agent_id: The ID of the agent to get the turn for.
|
||||
:param session_id: The ID of the session to get the turn for.
|
||||
:param turn_id: The ID of the turn to get.
|
||||
:returns: A Turn.
|
||||
"""
|
||||
...
|
||||
|
||||
@webmethod(
|
||||
route="/agents/{agent_id}/session/{session_id}/turn/{turn_id}/step/{step_id}",
|
||||
|
@ -400,14 +477,30 @@ class Agents(Protocol):
|
|||
session_id: str,
|
||||
turn_id: str,
|
||||
step_id: str,
|
||||
) -> AgentStepResponse: ...
|
||||
) -> AgentStepResponse:
|
||||
"""Retrieve an agent step by its ID.
|
||||
|
||||
:param agent_id: The ID of the agent to get the step for.
|
||||
:param session_id: The ID of the session to get the step for.
|
||||
:param turn_id: The ID of the turn to get the step for.
|
||||
:param step_id: The ID of the step to get.
|
||||
:returns: An AgentStepResponse.
|
||||
"""
|
||||
...
|
||||
|
||||
@webmethod(route="/agents/{agent_id}/session", method="POST")
|
||||
async def create_agent_session(
|
||||
self,
|
||||
agent_id: str,
|
||||
session_name: str,
|
||||
) -> AgentSessionCreateResponse: ...
|
||||
) -> AgentSessionCreateResponse:
|
||||
"""Create a new session for an agent.
|
||||
|
||||
:param agent_id: The ID of the agent to create the session for.
|
||||
:param session_name: The name of the session to create.
|
||||
:returns: An AgentSessionCreateResponse.
|
||||
"""
|
||||
...
|
||||
|
||||
@webmethod(route="/agents/{agent_id}/session/{session_id}", method="GET")
|
||||
async def get_agents_session(
|
||||
|
@ -415,17 +508,35 @@ class Agents(Protocol):
|
|||
session_id: str,
|
||||
agent_id: str,
|
||||
turn_ids: Optional[List[str]] = None,
|
||||
) -> Session: ...
|
||||
) -> Session:
|
||||
"""Retrieve an agent session by its ID.
|
||||
|
||||
:param session_id: The ID of the session to get.
|
||||
:param agent_id: The ID of the agent to get the session for.
|
||||
:param turn_ids: (Optional) List of turn IDs to filter the session by.
|
||||
"""
|
||||
...
|
||||
|
||||
@webmethod(route="/agents/{agent_id}/session/{session_id}", method="DELETE")
|
||||
async def delete_agents_session(
|
||||
self,
|
||||
session_id: str,
|
||||
agent_id: str,
|
||||
) -> None: ...
|
||||
) -> None:
|
||||
"""Delete an agent session by its ID.
|
||||
|
||||
:param session_id: The ID of the session to delete.
|
||||
:param agent_id: The ID of the agent to delete the session for.
|
||||
"""
|
||||
...
|
||||
|
||||
@webmethod(route="/agents/{agent_id}", method="DELETE")
|
||||
async def delete_agent(
|
||||
self,
|
||||
agent_id: str,
|
||||
) -> None: ...
|
||||
) -> None:
|
||||
"""Delete an agent by its ID.
|
||||
|
||||
:param agent_id: The ID of the agent to delete.
|
||||
"""
|
||||
...
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue