mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-10-04 04:04:14 +00:00
Add Form() annotations and fix OpenAPI generation for multipart params
- Add Form() annotations to purpose and expires_after parameters in file upload endpoints - Add support for optional multipart form parameters in OpenAPI generator - Generated spec now properly mirrors OpenAI format with schema refs
This commit is contained in:
parent
8288122146
commit
f676c48a97
8 changed files with 705 additions and 362 deletions
|
@ -5,6 +5,7 @@
|
||||||
# the root directory of this source tree.
|
# the root directory of this source tree.
|
||||||
|
|
||||||
import hashlib
|
import hashlib
|
||||||
|
import inspect
|
||||||
import ipaddress
|
import ipaddress
|
||||||
import types
|
import types
|
||||||
import typing
|
import typing
|
||||||
|
@ -12,6 +13,7 @@ from dataclasses import make_dataclass
|
||||||
from typing import Annotated, Any, Dict, get_args, get_origin, Set, Union
|
from typing import Annotated, Any, Dict, get_args, get_origin, Set, Union
|
||||||
|
|
||||||
from fastapi import UploadFile
|
from fastapi import UploadFile
|
||||||
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from llama_stack.apis.datatypes import Error
|
from llama_stack.apis.datatypes import Error
|
||||||
from llama_stack.strong_typing.core import JsonType
|
from llama_stack.strong_typing.core import JsonType
|
||||||
|
@ -632,13 +634,21 @@ class Generator:
|
||||||
base_type = get_args(param_type)[0]
|
base_type = get_args(param_type)[0]
|
||||||
else:
|
else:
|
||||||
base_type = param_type
|
base_type = param_type
|
||||||
|
|
||||||
|
# Check if the type is optional
|
||||||
|
is_optional = is_type_optional(base_type)
|
||||||
|
if is_optional:
|
||||||
|
base_type = unwrap_optional_type(base_type)
|
||||||
|
|
||||||
if base_type is UploadFile:
|
if base_type is UploadFile:
|
||||||
# File upload
|
# File upload
|
||||||
properties[name] = {"type": "string", "format": "binary"}
|
properties[name] = {"type": "string", "format": "binary"}
|
||||||
else:
|
else:
|
||||||
# Form field
|
# All other types - generate schema reference
|
||||||
|
# This includes enums, BaseModels, and simple types
|
||||||
properties[name] = self.schema_builder.classdef_to_ref(base_type)
|
properties[name] = self.schema_builder.classdef_to_ref(base_type)
|
||||||
|
|
||||||
|
if not is_optional:
|
||||||
required_fields.append(name)
|
required_fields.append(name)
|
||||||
|
|
||||||
multipart_schema = {
|
multipart_schema = {
|
||||||
|
|
608
docs/static/llama-stack-spec.html
vendored
608
docs/static/llama-stack-spec.html
vendored
|
@ -6081,10 +6081,17 @@
|
||||||
"file": {
|
"file": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "binary"
|
"format": "binary"
|
||||||
|
},
|
||||||
|
"purpose": {
|
||||||
|
"$ref": "#/components/schemas/OpenAIFilePurpose"
|
||||||
|
},
|
||||||
|
"expires_after": {
|
||||||
|
"$ref": "#/components/schemas/ExpiresAfter"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"file"
|
"file",
|
||||||
|
"purpose"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6203,10 +6210,17 @@
|
||||||
"file": {
|
"file": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "binary"
|
"format": "binary"
|
||||||
|
},
|
||||||
|
"purpose": {
|
||||||
|
"$ref": "#/components/schemas/OpenAIFilePurpose"
|
||||||
|
},
|
||||||
|
"expires_after": {
|
||||||
|
"$ref": "#/components/schemas/ExpiresAfter"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"file"
|
"file",
|
||||||
|
"purpose"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7926,7 +7940,25 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"strategy": {
|
"strategy": {
|
||||||
"$ref": "#/components/schemas/SamplingStrategy",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/GreedySamplingStrategy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/TopPSamplingStrategy"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/TopKSamplingStrategy"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"greedy": "#/components/schemas/GreedySamplingStrategy",
|
||||||
|
"top_p": "#/components/schemas/TopPSamplingStrategy",
|
||||||
|
"top_k": "#/components/schemas/TopKSamplingStrategy"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "The sampling strategy."
|
"description": "The sampling strategy."
|
||||||
},
|
},
|
||||||
"max_tokens": {
|
"max_tokens": {
|
||||||
|
@ -7954,27 +7986,6 @@
|
||||||
"title": "SamplingParams",
|
"title": "SamplingParams",
|
||||||
"description": "Sampling parameters."
|
"description": "Sampling parameters."
|
||||||
},
|
},
|
||||||
"SamplingStrategy": {
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/GreedySamplingStrategy"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/TopPSamplingStrategy"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/TopKSamplingStrategy"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"discriminator": {
|
|
||||||
"propertyName": "type",
|
|
||||||
"mapping": {
|
|
||||||
"greedy": "#/components/schemas/GreedySamplingStrategy",
|
|
||||||
"top_p": "#/components/schemas/TopPSamplingStrategy",
|
|
||||||
"top_k": "#/components/schemas/TopKSamplingStrategy"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"SystemMessage": {
|
"SystemMessage": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -8557,7 +8568,25 @@
|
||||||
"description": "Type of the event"
|
"description": "Type of the event"
|
||||||
},
|
},
|
||||||
"delta": {
|
"delta": {
|
||||||
"$ref": "#/components/schemas/ContentDelta",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/TextDelta"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ImageDelta"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ToolCallDelta"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"text": "#/components/schemas/TextDelta",
|
||||||
|
"image": "#/components/schemas/ImageDelta",
|
||||||
|
"tool_call": "#/components/schemas/ToolCallDelta"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "Content generated since last event. This can be one or more tokens, or a tool call."
|
"description": "Content generated since last event. This can be one or more tokens, or a tool call."
|
||||||
},
|
},
|
||||||
"logprobs": {
|
"logprobs": {
|
||||||
|
@ -8607,27 +8636,6 @@
|
||||||
"title": "ChatCompletionResponseStreamChunk",
|
"title": "ChatCompletionResponseStreamChunk",
|
||||||
"description": "A chunk of a streamed chat completion response."
|
"description": "A chunk of a streamed chat completion response."
|
||||||
},
|
},
|
||||||
"ContentDelta": {
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/TextDelta"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/ImageDelta"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/ToolCallDelta"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"discriminator": {
|
|
||||||
"propertyName": "type",
|
|
||||||
"mapping": {
|
|
||||||
"text": "#/components/schemas/TextDelta",
|
|
||||||
"image": "#/components/schemas/ImageDelta",
|
|
||||||
"tool_call": "#/components/schemas/ToolCallDelta"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ImageDelta": {
|
"ImageDelta": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -9556,18 +9564,6 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"payload": {
|
"payload": {
|
||||||
"$ref": "#/components/schemas/AgentTurnResponseEventPayload",
|
|
||||||
"description": "Event-specific payload containing event data"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": false,
|
|
||||||
"required": [
|
|
||||||
"payload"
|
|
||||||
],
|
|
||||||
"title": "AgentTurnResponseEvent",
|
|
||||||
"description": "An event in an agent turn response stream."
|
|
||||||
},
|
|
||||||
"AgentTurnResponseEventPayload": {
|
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/components/schemas/AgentTurnResponseStepStartPayload"
|
"$ref": "#/components/schemas/AgentTurnResponseStepStartPayload"
|
||||||
|
@ -9598,8 +9594,17 @@
|
||||||
"turn_complete": "#/components/schemas/AgentTurnResponseTurnCompletePayload",
|
"turn_complete": "#/components/schemas/AgentTurnResponseTurnCompletePayload",
|
||||||
"turn_awaiting_input": "#/components/schemas/AgentTurnResponseTurnAwaitingInputPayload"
|
"turn_awaiting_input": "#/components/schemas/AgentTurnResponseTurnAwaitingInputPayload"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"description": "Event-specific payload containing event data"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"payload"
|
||||||
|
],
|
||||||
|
"title": "AgentTurnResponseEvent",
|
||||||
|
"description": "An event in an agent turn response stream."
|
||||||
|
},
|
||||||
"AgentTurnResponseStepCompletePayload": {
|
"AgentTurnResponseStepCompletePayload": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -9700,7 +9705,25 @@
|
||||||
"description": "Unique identifier for the step within a turn"
|
"description": "Unique identifier for the step within a turn"
|
||||||
},
|
},
|
||||||
"delta": {
|
"delta": {
|
||||||
"$ref": "#/components/schemas/ContentDelta",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/TextDelta"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ImageDelta"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ToolCallDelta"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"text": "#/components/schemas/TextDelta",
|
||||||
|
"image": "#/components/schemas/ImageDelta",
|
||||||
|
"tool_call": "#/components/schemas/ToolCallDelta"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "Incremental content changes during step execution"
|
"description": "Incremental content changes during step execution"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -11110,23 +11133,6 @@
|
||||||
"title": "OpenAIResponseOutputMessageMCPListTools",
|
"title": "OpenAIResponseOutputMessageMCPListTools",
|
||||||
"description": "MCP list tools output message containing available tools from an MCP server."
|
"description": "MCP list tools output message containing available tools from an MCP server."
|
||||||
},
|
},
|
||||||
"OpenAIResponseContentPart": {
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/OpenAIResponseContentPartOutputText"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/OpenAIResponseContentPartRefusal"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"discriminator": {
|
|
||||||
"propertyName": "type",
|
|
||||||
"mapping": {
|
|
||||||
"output_text": "#/components/schemas/OpenAIResponseContentPartOutputText",
|
|
||||||
"refusal": "#/components/schemas/OpenAIResponseContentPartRefusal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"OpenAIResponseContentPartOutputText": {
|
"OpenAIResponseContentPartOutputText": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -11292,7 +11298,21 @@
|
||||||
"description": "Unique identifier of the output item containing this content part"
|
"description": "Unique identifier of the output item containing this content part"
|
||||||
},
|
},
|
||||||
"part": {
|
"part": {
|
||||||
"$ref": "#/components/schemas/OpenAIResponseContentPart",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseContentPartOutputText"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseContentPartRefusal"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"output_text": "#/components/schemas/OpenAIResponseContentPartOutputText",
|
||||||
|
"refusal": "#/components/schemas/OpenAIResponseContentPartRefusal"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "The content part that was added"
|
"description": "The content part that was added"
|
||||||
},
|
},
|
||||||
"sequence_number": {
|
"sequence_number": {
|
||||||
|
@ -11329,7 +11349,21 @@
|
||||||
"description": "Unique identifier of the output item containing this content part"
|
"description": "Unique identifier of the output item containing this content part"
|
||||||
},
|
},
|
||||||
"part": {
|
"part": {
|
||||||
"$ref": "#/components/schemas/OpenAIResponseContentPart",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseContentPartOutputText"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseContentPartRefusal"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"output_text": "#/components/schemas/OpenAIResponseContentPartOutputText",
|
||||||
|
"refusal": "#/components/schemas/OpenAIResponseContentPartRefusal"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "The completed content part"
|
"description": "The completed content part"
|
||||||
},
|
},
|
||||||
"sequence_number": {
|
"sequence_number": {
|
||||||
|
@ -11653,7 +11687,37 @@
|
||||||
"description": "Unique identifier of the response containing this output"
|
"description": "Unique identifier of the response containing this output"
|
||||||
},
|
},
|
||||||
"item": {
|
"item": {
|
||||||
"$ref": "#/components/schemas/OpenAIResponseOutput",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseMessage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPCall"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"message": "#/components/schemas/OpenAIResponseMessage",
|
||||||
|
"web_search_call": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall",
|
||||||
|
"file_search_call": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall",
|
||||||
|
"function_call": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall",
|
||||||
|
"mcp_call": "#/components/schemas/OpenAIResponseOutputMessageMCPCall",
|
||||||
|
"mcp_list_tools": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "The output item that was added (message, tool call, etc.)"
|
"description": "The output item that was added (message, tool call, etc.)"
|
||||||
},
|
},
|
||||||
"output_index": {
|
"output_index": {
|
||||||
|
@ -11690,7 +11754,37 @@
|
||||||
"description": "Unique identifier of the response containing this output"
|
"description": "Unique identifier of the response containing this output"
|
||||||
},
|
},
|
||||||
"item": {
|
"item": {
|
||||||
"$ref": "#/components/schemas/OpenAIResponseOutput",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseMessage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPCall"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"message": "#/components/schemas/OpenAIResponseMessage",
|
||||||
|
"web_search_call": "#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall",
|
||||||
|
"file_search_call": "#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall",
|
||||||
|
"function_call": "#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall",
|
||||||
|
"mcp_call": "#/components/schemas/OpenAIResponseOutputMessageMCPCall",
|
||||||
|
"mcp_list_tools": "#/components/schemas/OpenAIResponseOutputMessageMCPListTools"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "The completed output item (message, tool call, etc.)"
|
"description": "The completed output item (message, tool call, etc.)"
|
||||||
},
|
},
|
||||||
"output_index": {
|
"output_index": {
|
||||||
|
@ -12043,7 +12137,21 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"eval_candidate": {
|
"eval_candidate": {
|
||||||
"$ref": "#/components/schemas/EvalCandidate",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ModelCandidate"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/AgentCandidate"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"model": "#/components/schemas/ModelCandidate",
|
||||||
|
"agent": "#/components/schemas/AgentCandidate"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "The candidate to evaluate."
|
"description": "The candidate to evaluate."
|
||||||
},
|
},
|
||||||
"scoring_params": {
|
"scoring_params": {
|
||||||
|
@ -12066,23 +12174,6 @@
|
||||||
"title": "BenchmarkConfig",
|
"title": "BenchmarkConfig",
|
||||||
"description": "A benchmark configuration for evaluation."
|
"description": "A benchmark configuration for evaluation."
|
||||||
},
|
},
|
||||||
"EvalCandidate": {
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/ModelCandidate"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/AgentCandidate"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"discriminator": {
|
|
||||||
"propertyName": "type",
|
|
||||||
"mapping": {
|
|
||||||
"model": "#/components/schemas/ModelCandidate",
|
|
||||||
"agent": "#/components/schemas/AgentCandidate"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"LLMAsJudgeScoringFnParams": {
|
"LLMAsJudgeScoringFnParams": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -12718,7 +12809,33 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"message": {
|
"message": {
|
||||||
"$ref": "#/components/schemas/OpenAIMessageParam",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIUserMessageParam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAISystemMessageParam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIAssistantMessageParam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIToolMessageParam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/OpenAIDeveloperMessageParam"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "role",
|
||||||
|
"mapping": {
|
||||||
|
"user": "#/components/schemas/OpenAIUserMessageParam",
|
||||||
|
"system": "#/components/schemas/OpenAISystemMessageParam",
|
||||||
|
"assistant": "#/components/schemas/OpenAIAssistantMessageParam",
|
||||||
|
"tool": "#/components/schemas/OpenAIToolMessageParam",
|
||||||
|
"developer": "#/components/schemas/OpenAIDeveloperMessageParam"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "The message from the model"
|
"description": "The message from the model"
|
||||||
},
|
},
|
||||||
"finish_reason": {
|
"finish_reason": {
|
||||||
|
@ -13094,23 +13211,6 @@
|
||||||
],
|
],
|
||||||
"title": "OpenAICompletionWithInputMessages"
|
"title": "OpenAICompletionWithInputMessages"
|
||||||
},
|
},
|
||||||
"DataSource": {
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/URIDataSource"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/RowsDataSource"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"discriminator": {
|
|
||||||
"propertyName": "type",
|
|
||||||
"mapping": {
|
|
||||||
"uri": "#/components/schemas/URIDataSource",
|
|
||||||
"rows": "#/components/schemas/RowsDataSource"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Dataset": {
|
"Dataset": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -13150,7 +13250,21 @@
|
||||||
"description": "Purpose of the dataset indicating its intended use"
|
"description": "Purpose of the dataset indicating its intended use"
|
||||||
},
|
},
|
||||||
"source": {
|
"source": {
|
||||||
"$ref": "#/components/schemas/DataSource",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/URIDataSource"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/RowsDataSource"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"uri": "#/components/schemas/URIDataSource",
|
||||||
|
"rows": "#/components/schemas/RowsDataSource"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "Data source configuration for the dataset"
|
"description": "Data source configuration for the dataset"
|
||||||
},
|
},
|
||||||
"metadata": {
|
"metadata": {
|
||||||
|
@ -13479,55 +13593,6 @@
|
||||||
"title": "ObjectType",
|
"title": "ObjectType",
|
||||||
"description": "Parameter type for object values."
|
"description": "Parameter type for object values."
|
||||||
},
|
},
|
||||||
"ParamType": {
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/StringType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/NumberType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/BooleanType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/ArrayType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/ObjectType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/JsonType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/UnionType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/ChatCompletionInputType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/CompletionInputType"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/AgentTurnInputType"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"discriminator": {
|
|
||||||
"propertyName": "type",
|
|
||||||
"mapping": {
|
|
||||||
"string": "#/components/schemas/StringType",
|
|
||||||
"number": "#/components/schemas/NumberType",
|
|
||||||
"boolean": "#/components/schemas/BooleanType",
|
|
||||||
"array": "#/components/schemas/ArrayType",
|
|
||||||
"object": "#/components/schemas/ObjectType",
|
|
||||||
"json": "#/components/schemas/JsonType",
|
|
||||||
"union": "#/components/schemas/UnionType",
|
|
||||||
"chat_completion_input": "#/components/schemas/ChatCompletionInputType",
|
|
||||||
"completion_input": "#/components/schemas/CompletionInputType",
|
|
||||||
"agent_turn_input": "#/components/schemas/AgentTurnInputType"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ScoringFn": {
|
"ScoringFn": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -13586,7 +13651,53 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"return_type": {
|
"return_type": {
|
||||||
"$ref": "#/components/schemas/ParamType"
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/StringType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/NumberType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/BooleanType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ArrayType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ObjectType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/JsonType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/UnionType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ChatCompletionInputType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/CompletionInputType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/AgentTurnInputType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"string": "#/components/schemas/StringType",
|
||||||
|
"number": "#/components/schemas/NumberType",
|
||||||
|
"boolean": "#/components/schemas/BooleanType",
|
||||||
|
"array": "#/components/schemas/ArrayType",
|
||||||
|
"object": "#/components/schemas/ObjectType",
|
||||||
|
"json": "#/components/schemas/JsonType",
|
||||||
|
"union": "#/components/schemas/UnionType",
|
||||||
|
"chat_completion_input": "#/components/schemas/ChatCompletionInputType",
|
||||||
|
"completion_input": "#/components/schemas/CompletionInputType",
|
||||||
|
"agent_turn_input": "#/components/schemas/AgentTurnInputType"
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"params": {
|
"params": {
|
||||||
"$ref": "#/components/schemas/ScoringFnParams"
|
"$ref": "#/components/schemas/ScoringFnParams"
|
||||||
|
@ -15496,22 +15607,6 @@
|
||||||
"description": "Event type identifier set to STRUCTURED_LOG"
|
"description": "Event type identifier set to STRUCTURED_LOG"
|
||||||
},
|
},
|
||||||
"payload": {
|
"payload": {
|
||||||
"$ref": "#/components/schemas/StructuredLogPayload",
|
|
||||||
"description": "The structured payload data for the log event"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"additionalProperties": false,
|
|
||||||
"required": [
|
|
||||||
"trace_id",
|
|
||||||
"span_id",
|
|
||||||
"timestamp",
|
|
||||||
"type",
|
|
||||||
"payload"
|
|
||||||
],
|
|
||||||
"title": "StructuredLogEvent",
|
|
||||||
"description": "A structured log event containing typed payload data."
|
|
||||||
},
|
|
||||||
"StructuredLogPayload": {
|
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{
|
{
|
||||||
"$ref": "#/components/schemas/SpanStartPayload"
|
"$ref": "#/components/schemas/SpanStartPayload"
|
||||||
|
@ -15526,8 +15621,21 @@
|
||||||
"span_start": "#/components/schemas/SpanStartPayload",
|
"span_start": "#/components/schemas/SpanStartPayload",
|
||||||
"span_end": "#/components/schemas/SpanEndPayload"
|
"span_end": "#/components/schemas/SpanEndPayload"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"description": "The structured payload data for the log event"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"trace_id",
|
||||||
|
"span_id",
|
||||||
|
"timestamp",
|
||||||
|
"type",
|
||||||
|
"payload"
|
||||||
|
],
|
||||||
|
"title": "StructuredLogEvent",
|
||||||
|
"description": "A structured log event containing typed payload data."
|
||||||
|
},
|
||||||
"StructuredLogType": {
|
"StructuredLogType": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
|
@ -15812,7 +15920,21 @@
|
||||||
"description": "Key-value attributes associated with the file"
|
"description": "Key-value attributes associated with the file"
|
||||||
},
|
},
|
||||||
"chunking_strategy": {
|
"chunking_strategy": {
|
||||||
"$ref": "#/components/schemas/VectorStoreChunkingStrategy",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/VectorStoreChunkingStrategyAuto"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/VectorStoreChunkingStrategyStatic"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"auto": "#/components/schemas/VectorStoreChunkingStrategyAuto",
|
||||||
|
"static": "#/components/schemas/VectorStoreChunkingStrategyStatic"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "Strategy used for splitting the file into chunks"
|
"description": "Strategy used for splitting the file into chunks"
|
||||||
},
|
},
|
||||||
"created_at": {
|
"created_at": {
|
||||||
|
@ -17625,6 +17747,25 @@
|
||||||
],
|
],
|
||||||
"title": "OpenaiUpdateVectorStoreFileRequest"
|
"title": "OpenaiUpdateVectorStoreFileRequest"
|
||||||
},
|
},
|
||||||
|
"ExpiresAfter": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"anchor": {
|
||||||
|
"type": "string",
|
||||||
|
"const": "created_at"
|
||||||
|
},
|
||||||
|
"seconds": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"anchor",
|
||||||
|
"seconds"
|
||||||
|
],
|
||||||
|
"title": "ExpiresAfter",
|
||||||
|
"description": "Control expiration of uploaded files.\nParams:\n - anchor, must be \"created_at\"\n - seconds, must be int between 3600 and 2592000 (1 hour to 30 days)"
|
||||||
|
},
|
||||||
"DPOAlignmentConfig": {
|
"DPOAlignmentConfig": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -17976,7 +18117,21 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
"query_generator_config": {
|
"query_generator_config": {
|
||||||
"$ref": "#/components/schemas/RAGQueryGeneratorConfig",
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/DefaultRAGQueryGeneratorConfig"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/LLMRAGQueryGeneratorConfig"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"default": "#/components/schemas/DefaultRAGQueryGeneratorConfig",
|
||||||
|
"llm": "#/components/schemas/LLMRAGQueryGeneratorConfig"
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": "Configuration for the query generator."
|
"description": "Configuration for the query generator."
|
||||||
},
|
},
|
||||||
"max_tokens_in_context": {
|
"max_tokens_in_context": {
|
||||||
|
@ -18014,23 +18169,6 @@
|
||||||
"title": "RAGQueryConfig",
|
"title": "RAGQueryConfig",
|
||||||
"description": "Configuration for the RAG query generation."
|
"description": "Configuration for the RAG query generation."
|
||||||
},
|
},
|
||||||
"RAGQueryGeneratorConfig": {
|
|
||||||
"oneOf": [
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/DefaultRAGQueryGeneratorConfig"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"$ref": "#/components/schemas/LLMRAGQueryGeneratorConfig"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"discriminator": {
|
|
||||||
"propertyName": "type",
|
|
||||||
"mapping": {
|
|
||||||
"default": "#/components/schemas/DefaultRAGQueryGeneratorConfig",
|
|
||||||
"llm": "#/components/schemas/LLMRAGQueryGeneratorConfig"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"RAGSearchMode": {
|
"RAGSearchMode": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": [
|
"enum": [
|
||||||
|
@ -18612,6 +18750,23 @@
|
||||||
],
|
],
|
||||||
"title": "RegisterBenchmarkRequest"
|
"title": "RegisterBenchmarkRequest"
|
||||||
},
|
},
|
||||||
|
"DataSource": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/URIDataSource"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/RowsDataSource"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"uri": "#/components/schemas/URIDataSource",
|
||||||
|
"rows": "#/components/schemas/RowsDataSource"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"RegisterDatasetRequest": {
|
"RegisterDatasetRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
@ -18718,6 +18873,55 @@
|
||||||
],
|
],
|
||||||
"title": "RegisterModelRequest"
|
"title": "RegisterModelRequest"
|
||||||
},
|
},
|
||||||
|
"ParamType": {
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/StringType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/NumberType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/BooleanType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ArrayType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ObjectType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/JsonType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/UnionType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/ChatCompletionInputType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/CompletionInputType"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/AgentTurnInputType"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"discriminator": {
|
||||||
|
"propertyName": "type",
|
||||||
|
"mapping": {
|
||||||
|
"string": "#/components/schemas/StringType",
|
||||||
|
"number": "#/components/schemas/NumberType",
|
||||||
|
"boolean": "#/components/schemas/BooleanType",
|
||||||
|
"array": "#/components/schemas/ArrayType",
|
||||||
|
"object": "#/components/schemas/ObjectType",
|
||||||
|
"json": "#/components/schemas/JsonType",
|
||||||
|
"union": "#/components/schemas/UnionType",
|
||||||
|
"chat_completion_input": "#/components/schemas/ChatCompletionInputType",
|
||||||
|
"completion_input": "#/components/schemas/CompletionInputType",
|
||||||
|
"agent_turn_input": "#/components/schemas/AgentTurnInputType"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"RegisterScoringFunctionRequest": {
|
"RegisterScoringFunctionRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
|
343
docs/static/llama-stack-spec.yaml
vendored
343
docs/static/llama-stack-spec.yaml
vendored
|
@ -4393,8 +4393,13 @@ paths:
|
||||||
file:
|
file:
|
||||||
type: string
|
type: string
|
||||||
format: binary
|
format: binary
|
||||||
|
purpose:
|
||||||
|
$ref: '#/components/schemas/OpenAIFilePurpose'
|
||||||
|
expires_after:
|
||||||
|
$ref: '#/components/schemas/ExpiresAfter'
|
||||||
required:
|
required:
|
||||||
- file
|
- file
|
||||||
|
- purpose
|
||||||
required: true
|
required: true
|
||||||
/v1/openai/v1/files:
|
/v1/openai/v1/files:
|
||||||
get:
|
get:
|
||||||
|
@ -4499,8 +4504,13 @@ paths:
|
||||||
file:
|
file:
|
||||||
type: string
|
type: string
|
||||||
format: binary
|
format: binary
|
||||||
|
purpose:
|
||||||
|
$ref: '#/components/schemas/OpenAIFilePurpose'
|
||||||
|
expires_after:
|
||||||
|
$ref: '#/components/schemas/ExpiresAfter'
|
||||||
required:
|
required:
|
||||||
- file
|
- file
|
||||||
|
- purpose
|
||||||
required: true
|
required: true
|
||||||
/v1/openai/v1/models:
|
/v1/openai/v1/models:
|
||||||
get:
|
get:
|
||||||
|
@ -5733,7 +5743,16 @@ components:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
strategy:
|
strategy:
|
||||||
$ref: '#/components/schemas/SamplingStrategy'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/GreedySamplingStrategy'
|
||||||
|
- $ref: '#/components/schemas/TopPSamplingStrategy'
|
||||||
|
- $ref: '#/components/schemas/TopKSamplingStrategy'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
greedy: '#/components/schemas/GreedySamplingStrategy'
|
||||||
|
top_p: '#/components/schemas/TopPSamplingStrategy'
|
||||||
|
top_k: '#/components/schemas/TopKSamplingStrategy'
|
||||||
description: The sampling strategy.
|
description: The sampling strategy.
|
||||||
max_tokens:
|
max_tokens:
|
||||||
type: integer
|
type: integer
|
||||||
|
@ -5761,17 +5780,6 @@ components:
|
||||||
- strategy
|
- strategy
|
||||||
title: SamplingParams
|
title: SamplingParams
|
||||||
description: Sampling parameters.
|
description: Sampling parameters.
|
||||||
SamplingStrategy:
|
|
||||||
oneOf:
|
|
||||||
- $ref: '#/components/schemas/GreedySamplingStrategy'
|
|
||||||
- $ref: '#/components/schemas/TopPSamplingStrategy'
|
|
||||||
- $ref: '#/components/schemas/TopKSamplingStrategy'
|
|
||||||
discriminator:
|
|
||||||
propertyName: type
|
|
||||||
mapping:
|
|
||||||
greedy: '#/components/schemas/GreedySamplingStrategy'
|
|
||||||
top_p: '#/components/schemas/TopPSamplingStrategy'
|
|
||||||
top_k: '#/components/schemas/TopKSamplingStrategy'
|
|
||||||
SystemMessage:
|
SystemMessage:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -6218,7 +6226,16 @@ components:
|
||||||
- progress
|
- progress
|
||||||
description: Type of the event
|
description: Type of the event
|
||||||
delta:
|
delta:
|
||||||
$ref: '#/components/schemas/ContentDelta'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/TextDelta'
|
||||||
|
- $ref: '#/components/schemas/ImageDelta'
|
||||||
|
- $ref: '#/components/schemas/ToolCallDelta'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
text: '#/components/schemas/TextDelta'
|
||||||
|
image: '#/components/schemas/ImageDelta'
|
||||||
|
tool_call: '#/components/schemas/ToolCallDelta'
|
||||||
description: >-
|
description: >-
|
||||||
Content generated since last event. This can be one or more tokens, or
|
Content generated since last event. This can be one or more tokens, or
|
||||||
a tool call.
|
a tool call.
|
||||||
|
@ -6261,17 +6278,6 @@ components:
|
||||||
title: ChatCompletionResponseStreamChunk
|
title: ChatCompletionResponseStreamChunk
|
||||||
description: >-
|
description: >-
|
||||||
A chunk of a streamed chat completion response.
|
A chunk of a streamed chat completion response.
|
||||||
ContentDelta:
|
|
||||||
oneOf:
|
|
||||||
- $ref: '#/components/schemas/TextDelta'
|
|
||||||
- $ref: '#/components/schemas/ImageDelta'
|
|
||||||
- $ref: '#/components/schemas/ToolCallDelta'
|
|
||||||
discriminator:
|
|
||||||
propertyName: type
|
|
||||||
mapping:
|
|
||||||
text: '#/components/schemas/TextDelta'
|
|
||||||
image: '#/components/schemas/ImageDelta'
|
|
||||||
tool_call: '#/components/schemas/ToolCallDelta'
|
|
||||||
ImageDelta:
|
ImageDelta:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -6953,16 +6959,6 @@ components:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
payload:
|
payload:
|
||||||
$ref: '#/components/schemas/AgentTurnResponseEventPayload'
|
|
||||||
description: >-
|
|
||||||
Event-specific payload containing event data
|
|
||||||
additionalProperties: false
|
|
||||||
required:
|
|
||||||
- payload
|
|
||||||
title: AgentTurnResponseEvent
|
|
||||||
description: >-
|
|
||||||
An event in an agent turn response stream.
|
|
||||||
AgentTurnResponseEventPayload:
|
|
||||||
oneOf:
|
oneOf:
|
||||||
- $ref: '#/components/schemas/AgentTurnResponseStepStartPayload'
|
- $ref: '#/components/schemas/AgentTurnResponseStepStartPayload'
|
||||||
- $ref: '#/components/schemas/AgentTurnResponseStepProgressPayload'
|
- $ref: '#/components/schemas/AgentTurnResponseStepProgressPayload'
|
||||||
|
@ -6979,6 +6975,14 @@ components:
|
||||||
turn_start: '#/components/schemas/AgentTurnResponseTurnStartPayload'
|
turn_start: '#/components/schemas/AgentTurnResponseTurnStartPayload'
|
||||||
turn_complete: '#/components/schemas/AgentTurnResponseTurnCompletePayload'
|
turn_complete: '#/components/schemas/AgentTurnResponseTurnCompletePayload'
|
||||||
turn_awaiting_input: '#/components/schemas/AgentTurnResponseTurnAwaitingInputPayload'
|
turn_awaiting_input: '#/components/schemas/AgentTurnResponseTurnAwaitingInputPayload'
|
||||||
|
description: >-
|
||||||
|
Event-specific payload containing event data
|
||||||
|
additionalProperties: false
|
||||||
|
required:
|
||||||
|
- payload
|
||||||
|
title: AgentTurnResponseEvent
|
||||||
|
description: >-
|
||||||
|
An event in an agent turn response stream.
|
||||||
AgentTurnResponseStepCompletePayload:
|
AgentTurnResponseStepCompletePayload:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -7057,7 +7061,16 @@ components:
|
||||||
description: >-
|
description: >-
|
||||||
Unique identifier for the step within a turn
|
Unique identifier for the step within a turn
|
||||||
delta:
|
delta:
|
||||||
$ref: '#/components/schemas/ContentDelta'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/TextDelta'
|
||||||
|
- $ref: '#/components/schemas/ImageDelta'
|
||||||
|
- $ref: '#/components/schemas/ToolCallDelta'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
text: '#/components/schemas/TextDelta'
|
||||||
|
image: '#/components/schemas/ImageDelta'
|
||||||
|
tool_call: '#/components/schemas/ToolCallDelta'
|
||||||
description: >-
|
description: >-
|
||||||
Incremental content changes during step execution
|
Incremental content changes during step execution
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
@ -8126,15 +8139,6 @@ components:
|
||||||
title: OpenAIResponseOutputMessageMCPListTools
|
title: OpenAIResponseOutputMessageMCPListTools
|
||||||
description: >-
|
description: >-
|
||||||
MCP list tools output message containing available tools from an MCP server.
|
MCP list tools output message containing available tools from an MCP server.
|
||||||
OpenAIResponseContentPart:
|
|
||||||
oneOf:
|
|
||||||
- $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
|
|
||||||
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
|
|
||||||
discriminator:
|
|
||||||
propertyName: type
|
|
||||||
mapping:
|
|
||||||
output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
|
|
||||||
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
|
|
||||||
OpenAIResponseContentPartOutputText:
|
OpenAIResponseContentPartOutputText:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -8242,7 +8246,14 @@ components:
|
||||||
description: >-
|
description: >-
|
||||||
Unique identifier of the output item containing this content part
|
Unique identifier of the output item containing this content part
|
||||||
part:
|
part:
|
||||||
$ref: '#/components/schemas/OpenAIResponseContentPart'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
|
||||||
|
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
|
||||||
description: The content part that was added
|
description: The content part that was added
|
||||||
sequence_number:
|
sequence_number:
|
||||||
type: integer
|
type: integer
|
||||||
|
@ -8277,7 +8288,14 @@ components:
|
||||||
description: >-
|
description: >-
|
||||||
Unique identifier of the output item containing this content part
|
Unique identifier of the output item containing this content part
|
||||||
part:
|
part:
|
||||||
$ref: '#/components/schemas/OpenAIResponseContentPart'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseContentPartOutputText'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseContentPartRefusal'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
output_text: '#/components/schemas/OpenAIResponseContentPartOutputText'
|
||||||
|
refusal: '#/components/schemas/OpenAIResponseContentPartRefusal'
|
||||||
description: The completed content part
|
description: The completed content part
|
||||||
sequence_number:
|
sequence_number:
|
||||||
type: integer
|
type: integer
|
||||||
|
@ -8563,7 +8581,22 @@ components:
|
||||||
description: >-
|
description: >-
|
||||||
Unique identifier of the response containing this output
|
Unique identifier of the response containing this output
|
||||||
item:
|
item:
|
||||||
$ref: '#/components/schemas/OpenAIResponseOutput'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseMessage'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
message: '#/components/schemas/OpenAIResponseMessage'
|
||||||
|
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
|
||||||
|
file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
|
||||||
|
function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
|
||||||
|
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
|
||||||
|
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
|
||||||
description: >-
|
description: >-
|
||||||
The output item that was added (message, tool call, etc.)
|
The output item that was added (message, tool call, etc.)
|
||||||
output_index:
|
output_index:
|
||||||
|
@ -8599,7 +8632,22 @@ components:
|
||||||
description: >-
|
description: >-
|
||||||
Unique identifier of the response containing this output
|
Unique identifier of the response containing this output
|
||||||
item:
|
item:
|
||||||
$ref: '#/components/schemas/OpenAIResponseOutput'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseMessage'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
|
||||||
|
- $ref: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
message: '#/components/schemas/OpenAIResponseMessage'
|
||||||
|
web_search_call: '#/components/schemas/OpenAIResponseOutputMessageWebSearchToolCall'
|
||||||
|
file_search_call: '#/components/schemas/OpenAIResponseOutputMessageFileSearchToolCall'
|
||||||
|
function_call: '#/components/schemas/OpenAIResponseOutputMessageFunctionToolCall'
|
||||||
|
mcp_call: '#/components/schemas/OpenAIResponseOutputMessageMCPCall'
|
||||||
|
mcp_list_tools: '#/components/schemas/OpenAIResponseOutputMessageMCPListTools'
|
||||||
description: >-
|
description: >-
|
||||||
The completed output item (message, tool call, etc.)
|
The completed output item (message, tool call, etc.)
|
||||||
output_index:
|
output_index:
|
||||||
|
@ -8922,7 +8970,14 @@ components:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
eval_candidate:
|
eval_candidate:
|
||||||
$ref: '#/components/schemas/EvalCandidate'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/ModelCandidate'
|
||||||
|
- $ref: '#/components/schemas/AgentCandidate'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
model: '#/components/schemas/ModelCandidate'
|
||||||
|
agent: '#/components/schemas/AgentCandidate'
|
||||||
description: The candidate to evaluate.
|
description: The candidate to evaluate.
|
||||||
scoring_params:
|
scoring_params:
|
||||||
type: object
|
type: object
|
||||||
|
@ -8943,15 +8998,6 @@ components:
|
||||||
title: BenchmarkConfig
|
title: BenchmarkConfig
|
||||||
description: >-
|
description: >-
|
||||||
A benchmark configuration for evaluation.
|
A benchmark configuration for evaluation.
|
||||||
EvalCandidate:
|
|
||||||
oneOf:
|
|
||||||
- $ref: '#/components/schemas/ModelCandidate'
|
|
||||||
- $ref: '#/components/schemas/AgentCandidate'
|
|
||||||
discriminator:
|
|
||||||
propertyName: type
|
|
||||||
mapping:
|
|
||||||
model: '#/components/schemas/ModelCandidate'
|
|
||||||
agent: '#/components/schemas/AgentCandidate'
|
|
||||||
LLMAsJudgeScoringFnParams:
|
LLMAsJudgeScoringFnParams:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -9415,7 +9461,20 @@ components:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
message:
|
message:
|
||||||
$ref: '#/components/schemas/OpenAIMessageParam'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/OpenAIUserMessageParam'
|
||||||
|
- $ref: '#/components/schemas/OpenAISystemMessageParam'
|
||||||
|
- $ref: '#/components/schemas/OpenAIAssistantMessageParam'
|
||||||
|
- $ref: '#/components/schemas/OpenAIToolMessageParam'
|
||||||
|
- $ref: '#/components/schemas/OpenAIDeveloperMessageParam'
|
||||||
|
discriminator:
|
||||||
|
propertyName: role
|
||||||
|
mapping:
|
||||||
|
user: '#/components/schemas/OpenAIUserMessageParam'
|
||||||
|
system: '#/components/schemas/OpenAISystemMessageParam'
|
||||||
|
assistant: '#/components/schemas/OpenAIAssistantMessageParam'
|
||||||
|
tool: '#/components/schemas/OpenAIToolMessageParam'
|
||||||
|
developer: '#/components/schemas/OpenAIDeveloperMessageParam'
|
||||||
description: The message from the model
|
description: The message from the model
|
||||||
finish_reason:
|
finish_reason:
|
||||||
type: string
|
type: string
|
||||||
|
@ -9708,15 +9767,6 @@ components:
|
||||||
- model
|
- model
|
||||||
- input_messages
|
- input_messages
|
||||||
title: OpenAICompletionWithInputMessages
|
title: OpenAICompletionWithInputMessages
|
||||||
DataSource:
|
|
||||||
oneOf:
|
|
||||||
- $ref: '#/components/schemas/URIDataSource'
|
|
||||||
- $ref: '#/components/schemas/RowsDataSource'
|
|
||||||
discriminator:
|
|
||||||
propertyName: type
|
|
||||||
mapping:
|
|
||||||
uri: '#/components/schemas/URIDataSource'
|
|
||||||
rows: '#/components/schemas/RowsDataSource'
|
|
||||||
Dataset:
|
Dataset:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -9751,7 +9801,14 @@ components:
|
||||||
description: >-
|
description: >-
|
||||||
Purpose of the dataset indicating its intended use
|
Purpose of the dataset indicating its intended use
|
||||||
source:
|
source:
|
||||||
$ref: '#/components/schemas/DataSource'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/URIDataSource'
|
||||||
|
- $ref: '#/components/schemas/RowsDataSource'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
uri: '#/components/schemas/URIDataSource'
|
||||||
|
rows: '#/components/schemas/RowsDataSource'
|
||||||
description: >-
|
description: >-
|
||||||
Data source configuration for the dataset
|
Data source configuration for the dataset
|
||||||
metadata:
|
metadata:
|
||||||
|
@ -9997,31 +10054,6 @@ components:
|
||||||
- type
|
- type
|
||||||
title: ObjectType
|
title: ObjectType
|
||||||
description: Parameter type for object values.
|
description: Parameter type for object values.
|
||||||
ParamType:
|
|
||||||
oneOf:
|
|
||||||
- $ref: '#/components/schemas/StringType'
|
|
||||||
- $ref: '#/components/schemas/NumberType'
|
|
||||||
- $ref: '#/components/schemas/BooleanType'
|
|
||||||
- $ref: '#/components/schemas/ArrayType'
|
|
||||||
- $ref: '#/components/schemas/ObjectType'
|
|
||||||
- $ref: '#/components/schemas/JsonType'
|
|
||||||
- $ref: '#/components/schemas/UnionType'
|
|
||||||
- $ref: '#/components/schemas/ChatCompletionInputType'
|
|
||||||
- $ref: '#/components/schemas/CompletionInputType'
|
|
||||||
- $ref: '#/components/schemas/AgentTurnInputType'
|
|
||||||
discriminator:
|
|
||||||
propertyName: type
|
|
||||||
mapping:
|
|
||||||
string: '#/components/schemas/StringType'
|
|
||||||
number: '#/components/schemas/NumberType'
|
|
||||||
boolean: '#/components/schemas/BooleanType'
|
|
||||||
array: '#/components/schemas/ArrayType'
|
|
||||||
object: '#/components/schemas/ObjectType'
|
|
||||||
json: '#/components/schemas/JsonType'
|
|
||||||
union: '#/components/schemas/UnionType'
|
|
||||||
chat_completion_input: '#/components/schemas/ChatCompletionInputType'
|
|
||||||
completion_input: '#/components/schemas/CompletionInputType'
|
|
||||||
agent_turn_input: '#/components/schemas/AgentTurnInputType'
|
|
||||||
ScoringFn:
|
ScoringFn:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -10060,7 +10092,30 @@ components:
|
||||||
- type: array
|
- type: array
|
||||||
- type: object
|
- type: object
|
||||||
return_type:
|
return_type:
|
||||||
$ref: '#/components/schemas/ParamType'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/StringType'
|
||||||
|
- $ref: '#/components/schemas/NumberType'
|
||||||
|
- $ref: '#/components/schemas/BooleanType'
|
||||||
|
- $ref: '#/components/schemas/ArrayType'
|
||||||
|
- $ref: '#/components/schemas/ObjectType'
|
||||||
|
- $ref: '#/components/schemas/JsonType'
|
||||||
|
- $ref: '#/components/schemas/UnionType'
|
||||||
|
- $ref: '#/components/schemas/ChatCompletionInputType'
|
||||||
|
- $ref: '#/components/schemas/CompletionInputType'
|
||||||
|
- $ref: '#/components/schemas/AgentTurnInputType'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
string: '#/components/schemas/StringType'
|
||||||
|
number: '#/components/schemas/NumberType'
|
||||||
|
boolean: '#/components/schemas/BooleanType'
|
||||||
|
array: '#/components/schemas/ArrayType'
|
||||||
|
object: '#/components/schemas/ObjectType'
|
||||||
|
json: '#/components/schemas/JsonType'
|
||||||
|
union: '#/components/schemas/UnionType'
|
||||||
|
chat_completion_input: '#/components/schemas/ChatCompletionInputType'
|
||||||
|
completion_input: '#/components/schemas/CompletionInputType'
|
||||||
|
agent_turn_input: '#/components/schemas/AgentTurnInputType'
|
||||||
params:
|
params:
|
||||||
$ref: '#/components/schemas/ScoringFnParams'
|
$ref: '#/components/schemas/ScoringFnParams'
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
@ -11512,7 +11567,14 @@ components:
|
||||||
description: >-
|
description: >-
|
||||||
Event type identifier set to STRUCTURED_LOG
|
Event type identifier set to STRUCTURED_LOG
|
||||||
payload:
|
payload:
|
||||||
$ref: '#/components/schemas/StructuredLogPayload'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/SpanStartPayload'
|
||||||
|
- $ref: '#/components/schemas/SpanEndPayload'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
span_start: '#/components/schemas/SpanStartPayload'
|
||||||
|
span_end: '#/components/schemas/SpanEndPayload'
|
||||||
description: >-
|
description: >-
|
||||||
The structured payload data for the log event
|
The structured payload data for the log event
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
@ -11525,15 +11587,6 @@ components:
|
||||||
title: StructuredLogEvent
|
title: StructuredLogEvent
|
||||||
description: >-
|
description: >-
|
||||||
A structured log event containing typed payload data.
|
A structured log event containing typed payload data.
|
||||||
StructuredLogPayload:
|
|
||||||
oneOf:
|
|
||||||
- $ref: '#/components/schemas/SpanStartPayload'
|
|
||||||
- $ref: '#/components/schemas/SpanEndPayload'
|
|
||||||
discriminator:
|
|
||||||
propertyName: type
|
|
||||||
mapping:
|
|
||||||
span_start: '#/components/schemas/SpanStartPayload'
|
|
||||||
span_end: '#/components/schemas/SpanEndPayload'
|
|
||||||
StructuredLogType:
|
StructuredLogType:
|
||||||
type: string
|
type: string
|
||||||
enum:
|
enum:
|
||||||
|
@ -11742,7 +11795,14 @@ components:
|
||||||
description: >-
|
description: >-
|
||||||
Key-value attributes associated with the file
|
Key-value attributes associated with the file
|
||||||
chunking_strategy:
|
chunking_strategy:
|
||||||
$ref: '#/components/schemas/VectorStoreChunkingStrategy'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/VectorStoreChunkingStrategyAuto'
|
||||||
|
- $ref: '#/components/schemas/VectorStoreChunkingStrategyStatic'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
auto: '#/components/schemas/VectorStoreChunkingStrategyAuto'
|
||||||
|
static: '#/components/schemas/VectorStoreChunkingStrategyStatic'
|
||||||
description: >-
|
description: >-
|
||||||
Strategy used for splitting the file into chunks
|
Strategy used for splitting the file into chunks
|
||||||
created_at:
|
created_at:
|
||||||
|
@ -13054,6 +13114,25 @@ components:
|
||||||
required:
|
required:
|
||||||
- attributes
|
- attributes
|
||||||
title: OpenaiUpdateVectorStoreFileRequest
|
title: OpenaiUpdateVectorStoreFileRequest
|
||||||
|
ExpiresAfter:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
anchor:
|
||||||
|
type: string
|
||||||
|
const: created_at
|
||||||
|
seconds:
|
||||||
|
type: integer
|
||||||
|
additionalProperties: false
|
||||||
|
required:
|
||||||
|
- anchor
|
||||||
|
- seconds
|
||||||
|
title: ExpiresAfter
|
||||||
|
description: >-
|
||||||
|
Control expiration of uploaded files.
|
||||||
|
|
||||||
|
Params:
|
||||||
|
- anchor, must be "created_at"
|
||||||
|
- seconds, must be int between 3600 and 2592000 (1 hour to 30 days)
|
||||||
DPOAlignmentConfig:
|
DPOAlignmentConfig:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -13339,7 +13418,14 @@ components:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
query_generator_config:
|
query_generator_config:
|
||||||
$ref: '#/components/schemas/RAGQueryGeneratorConfig'
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/DefaultRAGQueryGeneratorConfig'
|
||||||
|
- $ref: '#/components/schemas/LLMRAGQueryGeneratorConfig'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
default: '#/components/schemas/DefaultRAGQueryGeneratorConfig'
|
||||||
|
llm: '#/components/schemas/LLMRAGQueryGeneratorConfig'
|
||||||
description: Configuration for the query generator.
|
description: Configuration for the query generator.
|
||||||
max_tokens_in_context:
|
max_tokens_in_context:
|
||||||
type: integer
|
type: integer
|
||||||
|
@ -13382,15 +13468,6 @@ components:
|
||||||
title: RAGQueryConfig
|
title: RAGQueryConfig
|
||||||
description: >-
|
description: >-
|
||||||
Configuration for the RAG query generation.
|
Configuration for the RAG query generation.
|
||||||
RAGQueryGeneratorConfig:
|
|
||||||
oneOf:
|
|
||||||
- $ref: '#/components/schemas/DefaultRAGQueryGeneratorConfig'
|
|
||||||
- $ref: '#/components/schemas/LLMRAGQueryGeneratorConfig'
|
|
||||||
discriminator:
|
|
||||||
propertyName: type
|
|
||||||
mapping:
|
|
||||||
default: '#/components/schemas/DefaultRAGQueryGeneratorConfig'
|
|
||||||
llm: '#/components/schemas/LLMRAGQueryGeneratorConfig'
|
|
||||||
RAGSearchMode:
|
RAGSearchMode:
|
||||||
type: string
|
type: string
|
||||||
enum:
|
enum:
|
||||||
|
@ -13826,6 +13903,15 @@ components:
|
||||||
- dataset_id
|
- dataset_id
|
||||||
- scoring_functions
|
- scoring_functions
|
||||||
title: RegisterBenchmarkRequest
|
title: RegisterBenchmarkRequest
|
||||||
|
DataSource:
|
||||||
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/URIDataSource'
|
||||||
|
- $ref: '#/components/schemas/RowsDataSource'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
uri: '#/components/schemas/URIDataSource'
|
||||||
|
rows: '#/components/schemas/RowsDataSource'
|
||||||
RegisterDatasetRequest:
|
RegisterDatasetRequest:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
@ -13910,6 +13996,31 @@ components:
|
||||||
required:
|
required:
|
||||||
- model_id
|
- model_id
|
||||||
title: RegisterModelRequest
|
title: RegisterModelRequest
|
||||||
|
ParamType:
|
||||||
|
oneOf:
|
||||||
|
- $ref: '#/components/schemas/StringType'
|
||||||
|
- $ref: '#/components/schemas/NumberType'
|
||||||
|
- $ref: '#/components/schemas/BooleanType'
|
||||||
|
- $ref: '#/components/schemas/ArrayType'
|
||||||
|
- $ref: '#/components/schemas/ObjectType'
|
||||||
|
- $ref: '#/components/schemas/JsonType'
|
||||||
|
- $ref: '#/components/schemas/UnionType'
|
||||||
|
- $ref: '#/components/schemas/ChatCompletionInputType'
|
||||||
|
- $ref: '#/components/schemas/CompletionInputType'
|
||||||
|
- $ref: '#/components/schemas/AgentTurnInputType'
|
||||||
|
discriminator:
|
||||||
|
propertyName: type
|
||||||
|
mapping:
|
||||||
|
string: '#/components/schemas/StringType'
|
||||||
|
number: '#/components/schemas/NumberType'
|
||||||
|
boolean: '#/components/schemas/BooleanType'
|
||||||
|
array: '#/components/schemas/ArrayType'
|
||||||
|
object: '#/components/schemas/ObjectType'
|
||||||
|
json: '#/components/schemas/JsonType'
|
||||||
|
union: '#/components/schemas/UnionType'
|
||||||
|
chat_completion_input: '#/components/schemas/ChatCompletionInputType'
|
||||||
|
completion_input: '#/components/schemas/CompletionInputType'
|
||||||
|
agent_turn_input: '#/components/schemas/AgentTurnInputType'
|
||||||
RegisterScoringFunctionRequest:
|
RegisterScoringFunctionRequest:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
from enum import StrEnum
|
from enum import StrEnum
|
||||||
from typing import Annotated, ClassVar, Literal, Protocol, runtime_checkable
|
from typing import Annotated, ClassVar, Literal, Protocol, runtime_checkable
|
||||||
|
|
||||||
from fastapi import File, Response, UploadFile
|
from fastapi import File, Form, Response, UploadFile
|
||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field
|
||||||
|
|
||||||
from llama_stack.apis.common.responses import Order
|
from llama_stack.apis.common.responses import Order
|
||||||
|
@ -110,9 +110,8 @@ class Files(Protocol):
|
||||||
async def openai_upload_file(
|
async def openai_upload_file(
|
||||||
self,
|
self,
|
||||||
file: Annotated[UploadFile, File()],
|
file: Annotated[UploadFile, File()],
|
||||||
purpose: OpenAIFilePurpose,
|
purpose: Annotated[OpenAIFilePurpose, Form()],
|
||||||
expires_after: ExpiresAfter | None = None,
|
expires_after: Annotated[ExpiresAfter | None, Form()] = None,
|
||||||
# TODO: expires_after is producing strange openapi spec, params are showing up as a required w/ oneOf being null
|
|
||||||
) -> OpenAIFileObject:
|
) -> OpenAIFileObject:
|
||||||
"""
|
"""
|
||||||
Upload a file that can be used across various endpoints.
|
Upload a file that can be used across various endpoints.
|
||||||
|
|
|
@ -9,7 +9,7 @@ import uuid
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
from fastapi import File, Response, UploadFile
|
from fastapi import File, Form, Response, UploadFile
|
||||||
|
|
||||||
from llama_stack.apis.common.errors import ResourceNotFoundError
|
from llama_stack.apis.common.errors import ResourceNotFoundError
|
||||||
from llama_stack.apis.common.responses import Order
|
from llama_stack.apis.common.responses import Order
|
||||||
|
@ -86,8 +86,8 @@ class LocalfsFilesImpl(Files):
|
||||||
async def openai_upload_file(
|
async def openai_upload_file(
|
||||||
self,
|
self,
|
||||||
file: Annotated[UploadFile, File()],
|
file: Annotated[UploadFile, File()],
|
||||||
purpose: OpenAIFilePurpose,
|
purpose: Annotated[OpenAIFilePurpose, Form()],
|
||||||
expires_after: ExpiresAfter | None = None,
|
expires_after: Annotated[ExpiresAfter | None, Form()] = None,
|
||||||
) -> OpenAIFileObject:
|
) -> OpenAIFileObject:
|
||||||
"""Upload a file that can be used across various endpoints."""
|
"""Upload a file that can be used across various endpoints."""
|
||||||
if not self.sql_store:
|
if not self.sql_store:
|
||||||
|
|
|
@ -10,7 +10,7 @@ from typing import Annotated, Any
|
||||||
|
|
||||||
import boto3
|
import boto3
|
||||||
from botocore.exceptions import BotoCoreError, ClientError, NoCredentialsError
|
from botocore.exceptions import BotoCoreError, ClientError, NoCredentialsError
|
||||||
from fastapi import File, Response, UploadFile
|
from fastapi import File, Form, Response, UploadFile
|
||||||
|
|
||||||
from llama_stack.apis.common.errors import ResourceNotFoundError
|
from llama_stack.apis.common.errors import ResourceNotFoundError
|
||||||
from llama_stack.apis.common.responses import Order
|
from llama_stack.apis.common.responses import Order
|
||||||
|
@ -194,8 +194,8 @@ class S3FilesImpl(Files):
|
||||||
async def openai_upload_file(
|
async def openai_upload_file(
|
||||||
self,
|
self,
|
||||||
file: Annotated[UploadFile, File()],
|
file: Annotated[UploadFile, File()],
|
||||||
purpose: OpenAIFilePurpose,
|
purpose: Annotated[OpenAIFilePurpose, Form()],
|
||||||
expires_after: ExpiresAfter | None = None,
|
expires_after: Annotated[ExpiresAfter | None, Form()] = None,
|
||||||
) -> OpenAIFileObject:
|
) -> OpenAIFileObject:
|
||||||
file_id = f"file-{uuid.uuid4().hex}"
|
file_id = f"file-{uuid.uuid4().hex}"
|
||||||
|
|
||||||
|
|
|
@ -567,6 +567,20 @@ def get_class_properties(typ: type) -> Iterable[Tuple[str, type | str]]:
|
||||||
|
|
||||||
if is_dataclass_type(typ):
|
if is_dataclass_type(typ):
|
||||||
return ((field.name, field.type) for field in dataclasses.fields(typ))
|
return ((field.name, field.type) for field in dataclasses.fields(typ))
|
||||||
|
elif hasattr(typ, 'model_fields'):
|
||||||
|
# Pydantic BaseModel - use model_fields to exclude ClassVar and other non-field attributes
|
||||||
|
# Reconstruct Annotated type if discriminator exists to preserve metadata
|
||||||
|
from typing import Annotated
|
||||||
|
from pydantic.fields import FieldInfo
|
||||||
|
|
||||||
|
def get_field_type(name: str, field) -> type | str:
|
||||||
|
# If field has discriminator, wrap in Annotated to preserve it for schema generation
|
||||||
|
if field.discriminator:
|
||||||
|
field_info = FieldInfo(annotation=None, discriminator=field.discriminator)
|
||||||
|
return Annotated[field.annotation, field_info]
|
||||||
|
return field.annotation
|
||||||
|
|
||||||
|
return ((name, get_field_type(name, field)) for name, field in typ.model_fields.items())
|
||||||
else:
|
else:
|
||||||
resolved_hints = get_resolved_hints(typ)
|
resolved_hints = get_resolved_hints(typ)
|
||||||
return resolved_hints.items()
|
return resolved_hints.items()
|
||||||
|
|
|
@ -93,6 +93,11 @@ def get_class_property_docstrings(
|
||||||
"""
|
"""
|
||||||
|
|
||||||
result = {}
|
result = {}
|
||||||
|
# Only try to get MRO if data_type is actually a class
|
||||||
|
# Special types like Literal, Union, etc. don't have MRO
|
||||||
|
if not inspect.isclass(data_type):
|
||||||
|
return result
|
||||||
|
|
||||||
for base in inspect.getmro(data_type):
|
for base in inspect.getmro(data_type):
|
||||||
docstr = docstring.parse_type(base)
|
docstr = docstring.parse_type(base)
|
||||||
for param in docstr.params.values():
|
for param in docstr.params.values():
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue