Skip to main content

Common Parameters

All model classes accept these parameters:
ParameterTypeDefaultDescription
idstrModel identifier (e.g., "gpt-4o").
api_keystrenv varAPI key. Defaults to provider’s env var.
base_urlstrNoneOverride API base URL.
temperaturefloatNoneSampling temperature (0.0–2.0).
max_tokensintNoneMax output tokens.
top_pfloatNoneNucleus sampling.
timeoutfloatNoneRequest timeout in seconds.
retriesint0Retry attempts.
delay_between_retriesint1Base retry delay in seconds.
exponential_backoffboolFalseExponential backoff for retries.
cache_responseboolFalseCache responses locally.
cache_ttlint3600Cache TTL in seconds.
cache_dirstr".cache/models"Cache directory.

Methods

MethodReturnsDescription
invoke(messages, assistant_message, **kwargs)ModelResponseSync call.
ainvoke(messages, assistant_message, **kwargs)ModelResponseAsync call.
invoke_stream(messages, assistant_message, **kwargs)Iterator[ModelResponse]Sync streaming.
ainvoke_stream(messages, assistant_message, **kwargs)AsyncIterator[ModelResponse]Async streaming.

ModelResponse

FieldTypeDescription
contentstrResponse text.
tool_callsList[ToolCall]Tool calls requested by model.
usageUsageToken usage metrics.
stop_reasonstrWhy generation stopped.

Provider Classes

ImportProvider
from definable.model.openai import OpenAIChatOpenAI
from definable.model.anthropic import ClaudeAnthropic
from definable.model.google import GeminiGoogle
from definable.model.deepseek import DeepSeekChatDeepSeek
from definable.model.mistral import MistralChatMistral
from definable.model.moonshot import MoonshotChatMoonshot
from definable.model.xai import xAIxAI
from definable.model.perplexity import PerplexityPerplexity
from definable.model.ollama import OllamaOllama
from definable.model.openrouter import OpenRouterOpenRouter
from definable.model.openai_like import OpenAILikeCustom

String Shorthand

from definable.model.utils import resolve_model_string

model = resolve_model_string("openai/gpt-4o")
model = resolve_model_string("gpt-4o")  # defaults to OpenAI
Format: "provider/model-id" or bare "model-id" (defaults to OpenAI).