mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-10-04 12:07:34 +00:00
feat(tools): use { input_schema, output_schema } for ToolDefinition
This commit is contained in:
parent
42414a1a1b
commit
139320e19f
20 changed files with 1989 additions and 386 deletions
|
@ -1,12 +1,12 @@
|
|||
---
|
||||
description: "Agents API for creating and interacting with agentic systems.
|
||||
|
||||
Main functionalities provided by this API:
|
||||
- Create agents with specific instructions and ability to use tools.
|
||||
- Interactions with agents are grouped into sessions (\"threads\"), and each interaction is called a \"turn\".
|
||||
- Agents can be provided with various tools (see the ToolGroups and ToolRuntime APIs for more details).
|
||||
- Agents can be provided with various shields (see the Safety API for more details).
|
||||
- Agents can also use Memory to retrieve information from knowledge bases. See the RAG Tool and Vector IO APIs for more details."
|
||||
Main functionalities provided by this API:
|
||||
- Create agents with specific instructions and ability to use tools.
|
||||
- Interactions with agents are grouped into sessions (\"threads\"), and each interaction is called a \"turn\".
|
||||
- Agents can be provided with various tools (see the ToolGroups and ToolRuntime APIs for more details).
|
||||
- Agents can be provided with various shields (see the Safety API for more details).
|
||||
- Agents can also use Memory to retrieve information from knowledge bases. See the RAG Tool and Vector IO APIs for more details."
|
||||
sidebar_label: Agents
|
||||
title: Agents
|
||||
---
|
||||
|
@ -17,11 +17,11 @@ title: Agents
|
|||
|
||||
Agents API for creating and interacting with agentic systems.
|
||||
|
||||
Main functionalities provided by this API:
|
||||
- Create agents with specific instructions and ability to use tools.
|
||||
- Interactions with agents are grouped into sessions ("threads"), and each interaction is called a "turn".
|
||||
- Agents can be provided with various tools (see the ToolGroups and ToolRuntime APIs for more details).
|
||||
- Agents can be provided with various shields (see the Safety API for more details).
|
||||
- Agents can also use Memory to retrieve information from knowledge bases. See the RAG Tool and Vector IO APIs for more details.
|
||||
Main functionalities provided by this API:
|
||||
- Create agents with specific instructions and ability to use tools.
|
||||
- Interactions with agents are grouped into sessions ("threads"), and each interaction is called a "turn".
|
||||
- Agents can be provided with various tools (see the ToolGroups and ToolRuntime APIs for more details).
|
||||
- Agents can be provided with various shields (see the Safety API for more details).
|
||||
- Agents can also use Memory to retrieve information from knowledge bases. See the RAG Tool and Vector IO APIs for more details.
|
||||
|
||||
This section contains documentation for all available providers for the **agents** API.
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
---
|
||||
description: "The Batches API enables efficient processing of multiple requests in a single operation,
|
||||
particularly useful for processing large datasets, batch evaluation workflows, and
|
||||
cost-effective inference at scale.
|
||||
particularly useful for processing large datasets, batch evaluation workflows, and
|
||||
cost-effective inference at scale.
|
||||
|
||||
The API is designed to allow use of openai client libraries for seamless integration.
|
||||
The API is designed to allow use of openai client libraries for seamless integration.
|
||||
|
||||
This API provides the following extensions:
|
||||
- idempotent batch creation
|
||||
This API provides the following extensions:
|
||||
- idempotent batch creation
|
||||
|
||||
Note: This API is currently under active development and may undergo changes."
|
||||
Note: This API is currently under active development and may undergo changes."
|
||||
sidebar_label: Batches
|
||||
title: Batches
|
||||
---
|
||||
|
@ -18,14 +18,14 @@ title: Batches
|
|||
## Overview
|
||||
|
||||
The Batches API enables efficient processing of multiple requests in a single operation,
|
||||
particularly useful for processing large datasets, batch evaluation workflows, and
|
||||
cost-effective inference at scale.
|
||||
particularly useful for processing large datasets, batch evaluation workflows, and
|
||||
cost-effective inference at scale.
|
||||
|
||||
The API is designed to allow use of openai client libraries for seamless integration.
|
||||
The API is designed to allow use of openai client libraries for seamless integration.
|
||||
|
||||
This API provides the following extensions:
|
||||
- idempotent batch creation
|
||||
This API provides the following extensions:
|
||||
- idempotent batch creation
|
||||
|
||||
Note: This API is currently under active development and may undergo changes.
|
||||
Note: This API is currently under active development and may undergo changes.
|
||||
|
||||
This section contains documentation for all available providers for the **batches** API.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
---
|
||||
description: "Llama Stack Inference API for generating completions, chat completions, and embeddings.
|
||||
|
||||
This API provides the raw interface to the underlying models. Two kinds of models are supported:
|
||||
- LLM models: these models generate \"raw\" and \"chat\" (conversational) completions.
|
||||
- Embedding models: these models generate embeddings to be used for semantic search."
|
||||
This API provides the raw interface to the underlying models. Two kinds of models are supported:
|
||||
- LLM models: these models generate \"raw\" and \"chat\" (conversational) completions.
|
||||
- Embedding models: these models generate embeddings to be used for semantic search."
|
||||
sidebar_label: Inference
|
||||
title: Inference
|
||||
---
|
||||
|
@ -14,8 +14,8 @@ title: Inference
|
|||
|
||||
Llama Stack Inference API for generating completions, chat completions, and embeddings.
|
||||
|
||||
This API provides the raw interface to the underlying models. Two kinds of models are supported:
|
||||
- LLM models: these models generate "raw" and "chat" (conversational) completions.
|
||||
- Embedding models: these models generate embeddings to be used for semantic search.
|
||||
This API provides the raw interface to the underlying models. Two kinds of models are supported:
|
||||
- LLM models: these models generate "raw" and "chat" (conversational) completions.
|
||||
- Embedding models: these models generate embeddings to be used for semantic search.
|
||||
|
||||
This section contains documentation for all available providers for the **inference** API.
|
||||
|
|
179
docs/static/llama-stack-spec.html
vendored
179
docs/static/llama-stack-spec.html
vendored
|
@ -7383,12 +7383,57 @@
|
|||
"type": "string",
|
||||
"description": "(Optional) Human-readable description of what the tool does"
|
||||
},
|
||||
"parameters": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/ToolParameter"
|
||||
"input_schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "null"
|
||||
},
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "array"
|
||||
},
|
||||
{
|
||||
"type": "object"
|
||||
}
|
||||
]
|
||||
},
|
||||
"description": "(Optional) List of parameters this tool accepts"
|
||||
"description": "(Optional) JSON Schema for tool inputs (MCP inputSchema)"
|
||||
},
|
||||
"output_schema": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "null"
|
||||
},
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "array"
|
||||
},
|
||||
{
|
||||
"type": "object"
|
||||
}
|
||||
]
|
||||
},
|
||||
"description": "(Optional) JSON Schema for tool outputs (MCP outputSchema)"
|
||||
},
|
||||
"metadata": {
|
||||
"type": "object",
|
||||
|
@ -7424,68 +7469,6 @@
|
|||
"title": "ToolDef",
|
||||
"description": "Tool definition used in runtime contexts."
|
||||
},
|
||||
"ToolParameter": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "Name of the parameter"
|
||||
},
|
||||
"parameter_type": {
|
||||
"type": "string",
|
||||
"description": "Type of the parameter (e.g., string, integer)"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "Human-readable description of what the parameter does"
|
||||
},
|
||||
"required": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Whether this parameter is required for tool invocation"
|
||||
},
|
||||
"items": {
|
||||
"type": "object",
|
||||
"description": "Type of the elements when parameter_type is array"
|
||||
},
|
||||
"title": {
|
||||
"type": "string",
|
||||
"description": "(Optional) Title of the parameter"
|
||||
},
|
||||
"default": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "null"
|
||||
},
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "array"
|
||||
},
|
||||
{
|
||||
"type": "object"
|
||||
}
|
||||
],
|
||||
"description": "(Optional) Default value for the parameter if not provided"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"parameter_type",
|
||||
"description",
|
||||
"required"
|
||||
],
|
||||
"title": "ToolParameter",
|
||||
"description": "Parameter definition for a tool."
|
||||
},
|
||||
"TopKSamplingStrategy": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
@ -13132,6 +13115,68 @@
|
|||
"title": "Tool",
|
||||
"description": "A tool that can be invoked by agents."
|
||||
},
|
||||
"ToolParameter": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"description": "Name of the parameter"
|
||||
},
|
||||
"parameter_type": {
|
||||
"type": "string",
|
||||
"description": "Type of the parameter (e.g., string, integer)"
|
||||
},
|
||||
"description": {
|
||||
"type": "string",
|
||||
"description": "Human-readable description of what the parameter does"
|
||||
},
|
||||
"required": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "Whether this parameter is required for tool invocation"
|
||||
},
|
||||
"items": {
|
||||
"type": "object",
|
||||
"description": "Type of the elements when parameter_type is array"
|
||||
},
|
||||
"title": {
|
||||
"type": "string",
|
||||
"description": "(Optional) Title of the parameter"
|
||||
},
|
||||
"default": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "null"
|
||||
},
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "number"
|
||||
},
|
||||
{
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"type": "array"
|
||||
},
|
||||
{
|
||||
"type": "object"
|
||||
}
|
||||
],
|
||||
"description": "(Optional) Default value for the parameter if not provided"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"parameter_type",
|
||||
"description",
|
||||
"required"
|
||||
],
|
||||
"title": "ToolParameter",
|
||||
"description": "Parameter definition for a tool."
|
||||
},
|
||||
"ToolGroup": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
|
116
docs/static/llama-stack-spec.yaml
vendored
116
docs/static/llama-stack-spec.yaml
vendored
|
@ -5322,12 +5322,30 @@ components:
|
|||
type: string
|
||||
description: >-
|
||||
(Optional) Human-readable description of what the tool does
|
||||
parameters:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/ToolParameter'
|
||||
input_schema:
|
||||
type: object
|
||||
additionalProperties:
|
||||
oneOf:
|
||||
- type: 'null'
|
||||
- type: boolean
|
||||
- type: number
|
||||
- type: string
|
||||
- type: array
|
||||
- type: object
|
||||
description: >-
|
||||
(Optional) List of parameters this tool accepts
|
||||
(Optional) JSON Schema for tool inputs (MCP inputSchema)
|
||||
output_schema:
|
||||
type: object
|
||||
additionalProperties:
|
||||
oneOf:
|
||||
- type: 'null'
|
||||
- type: boolean
|
||||
- type: number
|
||||
- type: string
|
||||
- type: array
|
||||
- type: object
|
||||
description: >-
|
||||
(Optional) JSON Schema for tool outputs (MCP outputSchema)
|
||||
metadata:
|
||||
type: object
|
||||
additionalProperties:
|
||||
|
@ -5346,50 +5364,6 @@ components:
|
|||
title: ToolDef
|
||||
description: >-
|
||||
Tool definition used in runtime contexts.
|
||||
ToolParameter:
|
||||
type: object
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: Name of the parameter
|
||||
parameter_type:
|
||||
type: string
|
||||
description: >-
|
||||
Type of the parameter (e.g., string, integer)
|
||||
description:
|
||||
type: string
|
||||
description: >-
|
||||
Human-readable description of what the parameter does
|
||||
required:
|
||||
type: boolean
|
||||
default: true
|
||||
description: >-
|
||||
Whether this parameter is required for tool invocation
|
||||
items:
|
||||
type: object
|
||||
description: >-
|
||||
Type of the elements when parameter_type is array
|
||||
title:
|
||||
type: string
|
||||
description: (Optional) Title of the parameter
|
||||
default:
|
||||
oneOf:
|
||||
- type: 'null'
|
||||
- type: boolean
|
||||
- type: number
|
||||
- type: string
|
||||
- type: array
|
||||
- type: object
|
||||
description: >-
|
||||
(Optional) Default value for the parameter if not provided
|
||||
additionalProperties: false
|
||||
required:
|
||||
- name
|
||||
- parameter_type
|
||||
- description
|
||||
- required
|
||||
title: ToolParameter
|
||||
description: Parameter definition for a tool.
|
||||
TopKSamplingStrategy:
|
||||
type: object
|
||||
properties:
|
||||
|
@ -9667,6 +9641,50 @@ components:
|
|||
- parameters
|
||||
title: Tool
|
||||
description: A tool that can be invoked by agents.
|
||||
ToolParameter:
|
||||
type: object
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
description: Name of the parameter
|
||||
parameter_type:
|
||||
type: string
|
||||
description: >-
|
||||
Type of the parameter (e.g., string, integer)
|
||||
description:
|
||||
type: string
|
||||
description: >-
|
||||
Human-readable description of what the parameter does
|
||||
required:
|
||||
type: boolean
|
||||
default: true
|
||||
description: >-
|
||||
Whether this parameter is required for tool invocation
|
||||
items:
|
||||
type: object
|
||||
description: >-
|
||||
Type of the elements when parameter_type is array
|
||||
title:
|
||||
type: string
|
||||
description: (Optional) Title of the parameter
|
||||
default:
|
||||
oneOf:
|
||||
- type: 'null'
|
||||
- type: boolean
|
||||
- type: number
|
||||
- type: string
|
||||
- type: array
|
||||
- type: object
|
||||
description: >-
|
||||
(Optional) Default value for the parameter if not provided
|
||||
additionalProperties: false
|
||||
required:
|
||||
- name
|
||||
- parameter_type
|
||||
- description
|
||||
- required
|
||||
title: ToolParameter
|
||||
description: Parameter definition for a tool.
|
||||
ToolGroup:
|
||||
type: object
|
||||
properties:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue