Router.Chat.Completions
Create a Completion
Creates a model response for the given chat conversation with support for retries, fallbacks, prompts, and variables.from orq_ai_sdk import Orq
import os
with Orq(
api_key=os.getenv("ORQ_API_KEY", ""),
) as orq:
res = orq.router.chat.completions.create(messages=[], model="Model 3", fallbacks=[
{
"model": "openai/gpt-4o-mini",
},
], retry={
"on_codes": [
429,
500,
502,
503,
504,
],
}, cache={
"ttl": 3600,
"type": "exact_match",
}, load_balancer={
"type": "weight_based",
"models": [
{
"model": "openai/gpt-4o",
"weight": 0.7,
},
{
"model": "anthropic/claude-3-5-sonnet",
"weight": 0.3,
},
],
}, timeout={
"call_timeout": 30000,
}, variables={
"customer_name": "John Smith",
"product_name": "Premium Plan",
}, stream=False)
with res as event_stream:
for event in event_stream:
# handle event
print(event, flush=True)
Show Parameters
Show Parameters
{
"messages": Union[CreateChatCompletionMessagesSystemMessage, CreateChatCompletionMessagesDeveloperMessage, CreateChatCompletionMessagesUserMessage, CreateChatCompletionMessagesAssistantMessage, CreateChatCompletionMessagesToolMessage], # required
"model": str, # required
"metadata": Dict[str, str],
"name": Optional[str],
"audio": { # optional
"voice": Literal["alloy", "echo", "fable", "onyx", "nova", "shimmer"], # required
"format_": Literal["wav", "mp3", "flac", "opus", "pcm16"], # required
},
"frequency_penalty": OptionalNullable[float],
"max_tokens": OptionalNullable[int],
"max_completion_tokens": OptionalNullable[int],
"logprobs": OptionalNullable[bool],
"top_logprobs": OptionalNullable[int],
"n": OptionalNullable[int],
"presence_penalty": OptionalNullable[float],
"response_format": Union[CreateChatCompletionResponseFormatText, CreateChatCompletionResponseFormatJSONObject, CreateChatCompletionResponseFormatJSONSchema],
"reasoning_effort": Optional[Literal["none", "minimal", "low", "medium", "high", "xhigh"]],
"verbosity": Optional[str],
"seed": OptionalNullable[float],
"stop": Union[str, List[str]],
"stream_options": { # optional
"include_usage": Optional[bool],
},
"thinking": Union[ThinkingConfigDisabledSchema, ThinkingConfigEnabledSchema, ThinkingConfigAdaptiveSchema],
"temperature": OptionalNullable[float],
"top_p": OptionalNullable[float],
"top_k": OptionalNullable[float],
"tools": { # optional
"type": Optional[Literal["function"]],
"function": { # required
"name": str, # required
"description": Optional[str],
"parameters": { # optional
"type": Literal["object"], # required
"properties": Dict[str, Any], # required
"required": List[str],
"additional_properties": Optional[bool],
},
"strict": Optional[bool],
},
},
"tool_choice": Union[CreateChatCompletionToolChoice1, CreateChatCompletionToolChoice2],
"parallel_tool_calls": Optional[bool],
"modalities": List[Literal["text", "audio"]],
"guardrails": { # optional
"id": Union[CreateChatCompletionID1, str], # required
"execute_on": Literal["input", "output"], # required
},
"fallbacks": { # optional
"model": str, # required
},
"retry": { # optional
"count": Optional[float],
"on_codes": List[float],
},
"cache": { # optional
"ttl": Optional[float],
"type": Literal["exact_match"], # required
},
"load_balancer": Union[CreateChatCompletionLoadBalancer1],
"timeout": { # optional
"call_timeout": float, # required
},
"variables": Dict[str, Any],
"orq": { # optional
"name": Optional[str],
"retry": { # optional
"count": Optional[float],
"on_codes": List[float],
},
"fallbacks": { # optional
"model": str, # required
},
"prompt": { # optional
"id": str, # required
"version": Literal["latest"], # required
},
"identity": { # optional
"id": str, # required
"display_name": Optional[str],
"email": Optional[str],
"metadata": List[Dict[str, Any]],
"logo_url": Optional[str],
"tags": List[str],
},
"~~`contact`~~": { # optional
"id": str, # required
"display_name": Optional[str],
"email": Optional[str],
"metadata": List[Dict[str, Any]],
"logo_url": Optional[str],
"tags": List[str],
},
"thread": { # optional
"id": str, # required
"tags": List[str],
},
"~~`inputs`~~": Union[Dict[str, Any], List[Inputs2]],
"cache": { # optional
"ttl": Optional[float],
"type": Literal["exact_match"], # required
},
"knowledge_bases": { # optional
"top_k": Optional[int],
"threshold": Optional[float],
"search_type": Optional[Literal["vector_search", "keyword_search", "hybrid_search"]],
"filter_by": Union[Dict[str, CreateChatCompletionFilterBy1], CreateChatCompletionFilterByAnd, CreateChatCompletionFilterByOr],
"search_options": { # optional
"include_vectors": Optional[bool],
"include_metadata": Optional[bool],
"include_scores": Optional[bool],
},
"rerank_config": { # optional
"model": str, # required
"threshold": Optional[float],
"top_k": Optional[int],
},
"agentic_rag_config": { # optional
"model": str, # required
},
"knowledge_id": str, # required
"query": Optional[str],
},
"load_balancer": Union[CreateChatCompletionLoadBalancerRouterChatCompletions1],
"timeout": { # optional
"call_timeout": float, # required
},
},
"stream": Optional[bool],
}
Show Response
Show Response
{
"id": str,
"choices": {
"finish_reason": Nullable[CreateChatCompletionFinishReason],
"index": Optional[float],
"message": {
"content": OptionalNullable[str],
"refusal": OptionalNullable[str],
"tool_calls": { # optional
"index": Optional[float],
"id": Optional[str],
"type": Optional[Literal["function"]],
"function": { # optional
"name": Optional[str],
"arguments": Optional[str],
},
"thought_signature": Optional[str],
},
"role": Optional[Literal["assistant"]],
"reasoning": OptionalNullable[str],
"reasoning_signature": OptionalNullable[str],
"redacted_reasoning": Optional[str],
"audio": { # optional
"id": str,
"expires_at": int,
"data": str,
"transcript": str,
},
},
"logprobs": { # optional
"content": {
"token": str,
"logprob": float,
"bytes_": List[float],
"top_logprobs": {
"token": str,
"logprob": float,
"bytes_": List[float],
},
},
"refusal": {
"token": str,
"logprob": float,
"bytes_": List[float],
"top_logprobs": {
"token": str,
"logprob": float,
"bytes_": List[float],
},
},
},
},
"created": float,
"model": str,
"system_fingerprint": OptionalNullable[str],
"usage": { # optional
"completion_tokens": Optional[float],
"prompt_tokens": Optional[float],
"total_tokens": Optional[float],
"prompt_tokens_details": { # optional
"cached_tokens": OptionalNullable[int],
"cache_creation_tokens": OptionalNullable[int],
"audio_tokens": OptionalNullable[int],
},
"completion_tokens_details": { # optional
"reasoning_tokens": OptionalNullable[float],
"accepted_prediction_tokens": OptionalNullable[float],
"rejected_prediction_tokens": OptionalNullable[float],
"audio_tokens": OptionalNullable[int],
},
},
"object": Literal["chat.completion"],
}