Files
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

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