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

365 lines
7.7 KiB
YAML

# Cohere v2 Chat API Schemas
CohereChatRequest:
type: object
required:
- model
- messages
properties:
model:
type: string
description: Model to use for chat completion
example: command-r-plus
messages:
type: array
items:
$ref: '#/CohereMessage'
description: Array of message objects
tools:
type: array
items:
$ref: '#/CohereTool'
tool_choice:
$ref: '#/CohereToolChoice'
temperature:
type: number
minimum: 0
maximum: 1
p:
type: number
description: Top-p sampling
k:
type: integer
description: Top-k sampling
max_tokens:
type: integer
stop_sequences:
type: array
items:
type: string
frequency_penalty:
type: number
presence_penalty:
type: number
stream:
type: boolean
safety_mode:
type: string
enum: [CONTEXTUAL, STRICT, NONE]
log_probs:
type: boolean
strict_tool_choice:
type: boolean
thinking:
$ref: '#/CohereThinking'
response_format:
$ref: '#/CohereResponseFormat'
CohereMessage:
type: object
required:
- role
properties:
role:
type: string
enum: [system, user, assistant, tool]
content:
$ref: '#/CohereMessageContent'
tool_calls:
type: array
items:
$ref: '#/CohereToolCall'
tool_call_id:
type: string
tool_plan:
type: string
description: Chain-of-thought style reflection (assistant only)
CohereMessageContent:
oneOf:
- type: string
- type: array
items:
$ref: '#/CohereContentBlock'
description: Message content - can be a string or array of content blocks
CohereContentBlock:
type: object
required:
- type
properties:
type:
type: string
enum: [text, image_url, thinking, document]
text:
type: string
image_url:
type: object
properties:
url:
type: string
thinking:
type: string
document:
type: object
properties:
data:
type: object
id:
type: string
CohereTool:
type: object
properties:
type:
type: string
enum: [function]
function:
type: object
properties:
name:
type: string
description:
type: string
parameters:
type: object
CohereToolChoice:
type: string
enum: [AUTO, NONE, REQUIRED]
description: Tool choice mode - AUTO lets the model decide, NONE disables tools, REQUIRED forces tool use
CohereToolCall:
type: object
properties:
id:
type: string
type:
type: string
enum: [function]
function:
type: object
properties:
name:
type: string
arguments:
type: string
CohereThinking:
type: object
properties:
type:
type: string
enum: [enabled, disabled]
token_budget:
type: integer
minimum: 1
CohereResponseFormat:
type: object
properties:
type:
type: string
enum: [text, json_object]
description: Response format type
schema:
type: object
description: JSON schema for structured output (used with json_object type)
# Response types
CohereChatResponse:
type: object
properties:
id:
type: string
finish_reason:
type: string
enum: [COMPLETE, STOP_SEQUENCE, MAX_TOKENS, TOOL_CALL, ERROR, TIMEOUT]
message:
type: object
properties:
role:
type: string
content:
type: array
items:
$ref: '#/CohereContentBlock'
tool_calls:
type: array
items:
$ref: '#/CohereToolCall'
tool_plan:
type: string
usage:
$ref: '#/CohereUsage'
logprobs:
type: array
items:
$ref: '#/CohereLogProb'
description: Log probabilities (if requested)
CohereUsage:
type: object
properties:
billed_units:
$ref: '#/CohereBilledUnits'
tokens:
$ref: '#/CohereTokenUsage'
cached_tokens:
type: integer
description: Cached tokens
CohereBilledUnits:
type: object
properties:
input_tokens:
type: integer
description: Number of billed input tokens
output_tokens:
type: integer
description: Number of billed output tokens
search_units:
type: integer
description: Number of billed search units
classifications:
type: integer
description: Number of billed classification units
CohereTokenUsage:
type: object
properties:
input_tokens:
type: integer
description: Number of input tokens used
output_tokens:
type: integer
description: Number of output tokens produced
CohereLogProb:
type: object
properties:
token_ids:
type: array
items:
type: integer
description: Token IDs of each token in text chunk
text:
type: string
description: Text chunk for log probabilities
logprobs:
type: array
items:
type: number
description: Log probability of each token
# Stream event types
CohereChatStreamEvent:
type: object
properties:
type:
type: string
enum: [message-start, content-start, content-delta, content-end, tool-plan-delta, tool-call-start, tool-call-delta, tool-call-end, citation-start, citation-end, message-end, debug]
description: Type of streaming event
id:
type: string
description: Event ID (for message-start)
index:
type: integer
description: Index for indexed events
delta:
$ref: '#/CohereStreamDelta'
CohereStreamDelta:
type: object
properties:
message:
$ref: '#/CohereStreamMessage'
finish_reason:
type: string
enum: [COMPLETE, STOP_SEQUENCE, MAX_TOKENS, TOOL_CALL, ERROR, TIMEOUT]
usage:
$ref: '#/CohereUsage'
CohereStreamMessage:
type: object
properties:
role:
type: string
description: Message role (for message-start)
content:
oneOf:
- $ref: '#/CohereStreamContent'
- type: array
items:
$ref: '#/CohereStreamContent'
description: Content for content events
tool_plan:
type: string
description: Tool plan content (for tool-plan-delta)
tool_calls:
oneOf:
- $ref: '#/CohereToolCall'
- type: array
items:
$ref: '#/CohereToolCall'
description: Tool calls (for tool-call events)
citations:
oneOf:
- $ref: '#/CohereCitation'
- type: array
items:
$ref: '#/CohereCitation'
description: Citations (for citation events)
CohereStreamContent:
type: object
properties:
type:
type: string
enum: [text, image_url, thinking, document]
text:
type: string
thinking:
type: string
CohereCitation:
type: object
properties:
start:
type: integer
description: Start position of cited text
end:
type: integer
description: End position of cited text
text:
type: string
description: Cited text
sources:
type: array
items:
$ref: '#/CohereSource'
content_index:
type: integer
description: Content index of the citation
type:
type: string
enum: [TEXT_CONTENT, THINKING_CONTENT, PLAN]
description: Type of citation
CohereSource:
type: object
properties:
type:
type: string
enum: [tool, document]
description: Source type
id:
type: string
description: Source ID (nullable)
tool_output:
type: object
description: Tool output (for tool sources)
document:
type: object
description: Document data (for document sources)