368 lines
7.0 KiB
YAML
368 lines
7.0 KiB
YAML
# AWS Bedrock Converse API Schemas
|
|
|
|
BedrockConverseRequest:
|
|
type: object
|
|
properties:
|
|
messages:
|
|
type: array
|
|
items:
|
|
$ref: '#/BedrockMessage'
|
|
description: Array of messages for the conversation
|
|
system:
|
|
type: array
|
|
items:
|
|
$ref: '#/BedrockSystemMessage'
|
|
description: System messages/prompts
|
|
inferenceConfig:
|
|
$ref: '#/BedrockInferenceConfig'
|
|
toolConfig:
|
|
$ref: '#/BedrockToolConfig'
|
|
guardrailConfig:
|
|
$ref: '#/BedrockGuardrailConfig'
|
|
additionalModelRequestFields:
|
|
type: object
|
|
description: Model-specific parameters
|
|
additionalModelResponseFieldPaths:
|
|
type: array
|
|
items:
|
|
type: string
|
|
performanceConfig:
|
|
$ref: '#/BedrockPerformanceConfig'
|
|
promptVariables:
|
|
type: object
|
|
additionalProperties:
|
|
$ref: '#/BedrockPromptVariable'
|
|
requestMetadata:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
serviceTier:
|
|
$ref: '#/BedrockServiceTier'
|
|
# Bifrost-specific
|
|
fallbacks:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
BedrockMessage:
|
|
type: object
|
|
required:
|
|
- role
|
|
- content
|
|
properties:
|
|
role:
|
|
$ref: './common.yaml#/BedrockMessageRole'
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: '#/BedrockContentBlock'
|
|
|
|
BedrockSystemMessage:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
guardContent:
|
|
$ref: '#/BedrockGuardContent'
|
|
cachePoint:
|
|
$ref: '#/BedrockCachePoint'
|
|
|
|
BedrockContentBlock:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
image:
|
|
$ref: '#/BedrockImageSource'
|
|
document:
|
|
$ref: '#/BedrockDocumentSource'
|
|
toolUse:
|
|
$ref: '#/BedrockToolUse'
|
|
toolResult:
|
|
$ref: '#/BedrockToolResult'
|
|
guardContent:
|
|
$ref: '#/BedrockGuardContent'
|
|
reasoningContent:
|
|
$ref: '#/BedrockReasoningContent'
|
|
json:
|
|
type: object
|
|
description: JSON content for tool call results
|
|
cachePoint:
|
|
$ref: '#/BedrockCachePoint'
|
|
|
|
BedrockImageSource:
|
|
type: object
|
|
properties:
|
|
format:
|
|
type: string
|
|
enum: [jpeg, png, gif, webp]
|
|
source:
|
|
type: object
|
|
properties:
|
|
bytes:
|
|
type: string
|
|
format: byte
|
|
|
|
BedrockDocumentSource:
|
|
type: object
|
|
properties:
|
|
format:
|
|
type: string
|
|
enum: [pdf, csv, doc, docx, xls, xlsx, html, txt, md]
|
|
name:
|
|
type: string
|
|
source:
|
|
type: object
|
|
properties:
|
|
bytes:
|
|
type: string
|
|
format: byte
|
|
text:
|
|
type: string
|
|
description: Plain text content (for text-based documents)
|
|
|
|
BedrockToolUse:
|
|
type: object
|
|
properties:
|
|
toolUseId:
|
|
type: string
|
|
name:
|
|
type: string
|
|
input:
|
|
type: object
|
|
|
|
BedrockToolResult:
|
|
type: object
|
|
properties:
|
|
toolUseId:
|
|
type: string
|
|
content:
|
|
type: array
|
|
items:
|
|
$ref: '#/BedrockContentBlock'
|
|
status:
|
|
type: string
|
|
enum: [success, error]
|
|
|
|
BedrockGuardContent:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
qualifiers:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
BedrockReasoningContent:
|
|
type: object
|
|
properties:
|
|
reasoningText:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
signature:
|
|
type: string
|
|
|
|
BedrockCachePoint:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: [default]
|
|
|
|
BedrockInferenceConfig:
|
|
type: object
|
|
properties:
|
|
maxTokens:
|
|
type: integer
|
|
temperature:
|
|
type: number
|
|
topP:
|
|
type: number
|
|
stopSequences:
|
|
type: array
|
|
items:
|
|
type: string
|
|
|
|
BedrockToolConfig:
|
|
type: object
|
|
properties:
|
|
tools:
|
|
type: array
|
|
items:
|
|
$ref: '#/BedrockTool'
|
|
toolChoice:
|
|
$ref: '#/BedrockToolChoice'
|
|
|
|
BedrockTool:
|
|
type: object
|
|
properties:
|
|
toolSpec:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
inputSchema:
|
|
type: object
|
|
properties:
|
|
json:
|
|
type: object
|
|
cachePoint:
|
|
$ref: '#/BedrockCachePoint'
|
|
|
|
BedrockToolChoice:
|
|
type: object
|
|
properties:
|
|
auto:
|
|
type: object
|
|
any:
|
|
type: object
|
|
tool:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
|
|
BedrockGuardrailConfig:
|
|
type: object
|
|
properties:
|
|
guardrailIdentifier:
|
|
type: string
|
|
guardrailVersion:
|
|
type: string
|
|
trace:
|
|
type: string
|
|
enum: [enabled, disabled]
|
|
|
|
BedrockPerformanceConfig:
|
|
type: object
|
|
properties:
|
|
latency:
|
|
type: string
|
|
enum: [standard, optimized]
|
|
|
|
BedrockPromptVariable:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
|
|
BedrockServiceTier:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
enum: [reserved, priority, default, flex]
|
|
|
|
# Response types
|
|
BedrockConverseResponse:
|
|
type: object
|
|
properties:
|
|
output:
|
|
type: object
|
|
properties:
|
|
message:
|
|
$ref: '#/BedrockMessage'
|
|
stopReason:
|
|
type: string
|
|
enum: [end_turn, tool_use, max_tokens, stop_sequence, guardrail_intervened, content_filtered]
|
|
usage:
|
|
$ref: '#/BedrockUsage'
|
|
metrics:
|
|
type: object
|
|
properties:
|
|
latencyMs:
|
|
type: integer
|
|
additionalModelResponseFields:
|
|
type: object
|
|
trace:
|
|
type: object
|
|
performanceConfig:
|
|
$ref: '#/BedrockPerformanceConfig'
|
|
serviceTier:
|
|
$ref: '#/BedrockServiceTier'
|
|
|
|
BedrockUsage:
|
|
type: object
|
|
properties:
|
|
inputTokens:
|
|
type: integer
|
|
outputTokens:
|
|
type: integer
|
|
totalTokens:
|
|
type: integer
|
|
cacheReadInputTokens:
|
|
type: integer
|
|
cacheWriteInputTokens:
|
|
type: integer
|
|
|
|
# Stream event types
|
|
BedrockStreamEvent:
|
|
type: object
|
|
description: Flat structure for streaming events matching actual Bedrock API response
|
|
properties:
|
|
role:
|
|
type: string
|
|
description: For messageStart events
|
|
contentBlockIndex:
|
|
type: integer
|
|
description: For content block events
|
|
delta:
|
|
$ref: '#/BedrockContentBlockDelta'
|
|
stopReason:
|
|
type: string
|
|
description: For messageStop events
|
|
start:
|
|
$ref: '#/BedrockContentBlockStart'
|
|
usage:
|
|
$ref: '#/BedrockUsage'
|
|
metrics:
|
|
type: object
|
|
properties:
|
|
latencyMs:
|
|
type: integer
|
|
trace:
|
|
type: object
|
|
additionalModelResponseFields:
|
|
type: object
|
|
invokeModelRawChunk:
|
|
type: string
|
|
format: byte
|
|
description: Raw bytes for legacy invoke stream
|
|
|
|
BedrockContentBlockDelta:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
reasoningContent:
|
|
type: object
|
|
properties:
|
|
text:
|
|
type: string
|
|
signature:
|
|
type: string
|
|
toolUse:
|
|
type: object
|
|
properties:
|
|
input:
|
|
type: string
|
|
|
|
BedrockContentBlockStart:
|
|
type: object
|
|
properties:
|
|
toolUse:
|
|
type: object
|
|
properties:
|
|
toolUseId:
|
|
type: string
|
|
name:
|
|
type: string
|