Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

Models

model_settings is the block where you configure the language model and provider-specific fields for the parts of the workflow configuration that contain it. The orchestrator and service_agents use this block as described in the Agents section. The same fields also appear under message_processing.compacting and tool_display. See Message Processing and Tool Display Templates for more details.

Example

Minimal orchestrator.model_settings with openai:

{
"name": "Example Workflow",
"orchestrator": {
"name": "Example Workflow",
"model_settings": {
"ai_provider": "openai",
"name": "gpt-5-mini",
"context_size": 400000,
"api_key": {
"owner_type": "project",
"owner_id": "<your-project-id>",
"path": "secret/Custom/<openai-api-key-secret-id>/value"
}
},
"system_prompt": "You are a helpful assistant."
}
}

Provider choice

ai_providerTypical use
openaiOpenAI or OpenAI-compatible HTTP APIs
azureAzure OpenAI
anthropicClaude models
chariotModels hosted and served through Chariot

Provider-specific settings

Use exactly one of the following shapes per model_settings object. For external providers (openai, azure, anthropic), supply api_key as a custom Chariot Secret so the key stays managed by Chariot instead of inlined in your configuration.

Chariot Secret format

An api_key field accepts a custom Chariot Secret reference identifying a secret stored in your organization, project, or user scope. The owner_type must be one of "organization", "project", or "user".

"api_key": {
"owner_type": "project",
"owner_id": "<your-project-id>",
"path": "secret/Custom/<secret-id>/value"
}

OpenAI openai

name is required. This example also sets the optional reasoning_effort.

"model_settings": {
"ai_provider": "openai",
"name": "gpt-5-mini",
"reasoning_effort": "medium",
"api_key": {
"owner_type": "project",
"owner_id": "<your-project-id>",
"path": "secret/Custom/<openai-api-key-secret-id>/value"
}
}

Azure OpenAI azure

"model_settings": {
"ai_provider": "azure",
"name": "gpt-5-mini",
"azure_endpoint": "https://your-resource.openai.azure.com",
"api_version": "2024-02-15-preview",
"api_key": {
"owner_type": "project",
"owner_id": "<your-project-id>",
"path": "secret/Custom/<azure-api-key-secret-id>/value"
}
}

Anthropic anthropic

"model_settings": {
"ai_provider": "anthropic",
"name": "claude-sonnet-4-5",
"api_key": {
"owner_type": "project",
"owner_id": "<your-project-id>",
"path": "secret/Custom/<anthropic-api-key-secret-id>/value"
}
}

Chariot-hosted models

Two patterns are supported for calling a model that's served by your Chariot environment.

Option 1: ai_provider: "chariot"

Set name to the model name in your Chariot catalog. project_name and organization_name come from your Chariot project and organization. Alternatively, if your platform team gives you a direct inference endpoint, set model_id and external_base_url instead of the three catalog detail fields.

"model_settings": {
"ai_provider": "chariot",
"name": "openai/gpt-oss-120b",
"project_name": "your-project",
"organization_name": "your-organization"
}

Two more optional fields are supported on this provider:

  • max_api_retries: How many times Chariot retries failed HTTP calls to the inference endpoint when talking to your hosted model.
  • openai_reasoning_effort: Turns extra reasoning up or down on Chariot-hosted models that support this control (gpt-oss-120b and gpt-oss-20b).

Option 2: ai_provider: "openai" with chariot_proxy

Use the OpenAI-compatible shape — which lets you set OpenAI-specific fields like reasoning_effort — and route the request to a Chariot-hosted model. Chariot uses your session's bearer token as the API key and reads the inference endpoint from the model record, so api_key must be omitted. Inside chariot_proxy, you can substitute model_id for the three catalog detail fields the same way that was explained in Option 1.

"model_settings": {
"ai_provider": "openai",
"name": "openai/gpt-oss-120b",
"reasoning_effort": "medium",
"chariot_proxy": {
"name": "openai/gpt-oss-120b",
"project_name": "your-project",
"organization_name": "your-organization"
}
}

Additional fields

context_size (optional)

Context window size in tokens. Message Processing uses it with context_threshold when compacting is enabled. If this field is omitted, Chariot automatically determines the context window size for some common models.