Providers and models¶
octomate.config.providers ¶
Credentials and default settings for each model provider.
OpenAIProviderConfig
pydantic-model
¶
Bases: BaseModel
OpenAI credentials, endpoint and default model settings.
Config:
arbitrary_types_allowed:True
Fields:
-
api_key(SecretStr | None) -
base_url(str | None) -
settings(OpenAIModelSettings)
Source code in octomate/config/providers.py
DeepSeekProviderConfig
pydantic-model
¶
GeminiProviderConfig
pydantic-model
¶
Bases: BaseModel
Gemini via the Google Developer API (AI Studio).
Fields:
-
api_key(SecretStr | None)
Source code in octomate/config/providers.py
VertexProviderConfig
pydantic-model
¶
Bases: BaseModel
Gemini via Vertex AI. location defaults to "global" (matching the prior
GoogleProvider(location="global")); credentials_file is a service-account
JSON path, and when omitted Application Default Credentials are used.
Fields:
-
project(str | None) -
location(str | None) -
credentials_file(str | None)
Source code in octomate/config/providers.py
AnthropicProviderConfig
pydantic-model
¶
Bases: BaseModel
Anthropic credentials, endpoint and default model settings.
Config:
arbitrary_types_allowed:True
Fields:
-
api_key(SecretStr | None) -
base_url(str | None) -
settings(AnthropicModelSettings)
Source code in octomate/config/providers.py
BedrockProviderConfig
pydantic-model
¶
Bases: BaseModel
AWS Bedrock credentials, region and default model settings.
Config:
arbitrary_types_allowed:True
Fields:
-
region_name(str | None) -
aws_access_key_id(SecretStr | None) -
aws_secret_access_key(SecretStr | None) -
aws_session_token(SecretStr | None) -
profile_name(str | None) -
api_key(SecretStr | None) -
settings(BedrockModelSettings)
Source code in octomate/config/providers.py
model_config
class-attribute
instance-attribute
¶
ProvidersConfig
pydantic-model
¶
Bases: BaseModel
Every provider's credentials, each absent unless configured.
Config:
extra:ignore
Fields:
-
openai(OpenAIProviderConfig | None) -
deepseek(DeepSeekProviderConfig | None) -
gemini(GeminiProviderConfig | None) -
vertex(VertexProviderConfig | None) -
anthropic(AnthropicProviderConfig | None) -
bedrock(BedrockProviderConfig | None)
Source code in octomate/config/providers.py
octomate.config.models ¶
Model selections and the per-provider default settings a model is built with.
supported_providers
module-attribute
¶
supported_providers: set[str] = {
"openai",
"openai-chat",
"deepseek",
"google",
"google-cloud",
"anthropic",
"bedrock",
}
OpenAIModelSettings ¶
Bases: ModelSettings
Default OpenAI settings applied to every model this provider builds. Subclasses pydantic-ai's ModelSettings so it merges with no conversion; only declared ModelSettings keys are accepted (unknown keys are dropped).
Source code in octomate/config/models.py
openai_prompt_cache_retention
instance-attribute
¶
AnthropicModelSettings ¶
Bases: ModelSettings
Default Anthropic settings applied to every model this provider builds.
Source code in octomate/config/models.py
BedrockThinkingConfig ¶
Bases: TypedDict
Bedrock's thinking request field.
Source code in octomate/config/models.py
BedrockOutputConfig ¶
Bases: TypedDict
Bedrock's output_config request field.
Source code in octomate/config/models.py
BedrockAdditionalModelRequestFields ¶
Bases: TypedDict
Raw fields passed through to the Bedrock Converse API. Used for reasoning
config on models whose thinking shape isn't covered by the unified
thinking setting (e.g. claude-opus-4-x, which needs type: adaptive).
Source code in octomate/config/models.py
BedrockModelSettings ¶
Bases: ModelSettings
Default Bedrock settings applied to every model this provider builds.
Source code in octomate/config/models.py
bedrock_additional_model_requests_fields
instance-attribute
¶
ModelConfig
pydantic-model
¶
Bases: BaseModel
A model selection: which provider builds it and the model name. Reusable
across agents. settings is an optional per-model override (a pydantic-ai
ModelSettings) layered under the agent and run settings; arbitrary_types is
needed because ModelSettings embeds non-pydantic types (e.g. httpx.Timeout).
Config:
arbitrary_types_allowed:True
Fields:
Validators: