Files
python-sdk/docs/agent/config.md
zeekay e8695ee79d docs: replace all placeholder content with real documentation
MCP docs:
- quickstart.md - Installation, basic usage, transport modes
- configuration.md - CLI options, env vars, config files
- vscode.md - VS Code, Cursor, Windsurf integration

Agent SDK docs:
- agents.md - Creating and configuring agents
- running_agents.md - Runner, RunConfig, async/sync
- tools.md - Function tools, context, custom tools
- guardrails.md - Input/output validation
- handoffs.md - Agent delegation patterns
- streaming.md - Stream events and responses
- tracing.md - Observability and debugging
- context.md - Mutable run context
- config.md - RunConfig and ModelSettings
- results.md - RunResult, items, usage
- models.md - Providers and model selection
- multi_agent.md - Complex multi-agent patterns
2026-01-05 18:37:11 -08:00

3.7 KiB

Configuration

Configure agent behavior with RunConfig and ModelSettings.

RunConfig

Global settings for an agent run:

from agents import Runner, RunConfig, ModelSettings

config = RunConfig(
    model="gpt-4o",
    model_settings=ModelSettings(temperature=0.7),
    max_turns=20,
)

result = await Runner.run(agent, "Hello!", run_config=config)

RunConfig Options

Parameter Type Default Description
model str | Model None Override all agent models
model_provider ModelProvider OpenAI Model provider
model_settings ModelSettings None Global model settings
max_turns int 10 Max conversation turns
input_guardrails list None Global input guardrails
output_guardrails list None Global output guardrails
handoff_input_filter HandoffInputFilter None Global handoff filter
tracing_disabled bool False Disable tracing

ModelSettings

Fine-tune model behavior:

from agents import Agent, ModelSettings

settings = ModelSettings(
    temperature=0.7,
    top_p=0.9,
    max_tokens=1000,
    presence_penalty=0.0,
    frequency_penalty=0.0,
)

agent = Agent(
    name="creative",
    instructions="Be creative.",
    model_settings=settings,
)

ModelSettings Options

Parameter Type Default Description
temperature float 1.0 Randomness (0-2)
top_p float 1.0 Nucleus sampling
max_tokens int None Max output tokens
presence_penalty float 0.0 Presence penalty
frequency_penalty float 0.0 Frequency penalty
stop list[str] None Stop sequences

Model Selection

By String

agent = Agent(name="gpt4", model="gpt-4o")
agent = Agent(name="claude", model="claude-3-5-sonnet-20241022")

Override at Runtime

config = RunConfig(model="gpt-4o-mini")
result = await Runner.run(agent, "Hello!", run_config=config)

Model Providers

OpenAI (default)

from agents import OpenAIProvider

provider = OpenAIProvider(
    api_key="sk-...",
    base_url="https://api.openai.com/v1",
)

config = RunConfig(model_provider=provider)

Hanzo Node

from agents import create_hanzo_node_provider

provider = create_hanzo_node_provider(
    api_key="your-hanzo-key",
    base_url="https://api.hanzo.ai/v1",
)

config = RunConfig(model_provider=provider)

Custom Provider

from agents import ModelProvider, Model

class MyProvider(ModelProvider):
    def get_model(self, model_name: str) -> Model:
        return MyCustomModel(model_name)

Environment Variables

Variable Description
OPENAI_API_KEY OpenAI API key
ANTHROPIC_API_KEY Anthropic API key
HANZO_API_KEY Hanzo API key

Default Model

Set a default model for all agents:

import agents

# Set default
agents.set_default_model("gpt-4o")

# All agents use gpt-4o unless overridden
agent = Agent(name="default", instructions="...")

Configuration Hierarchy

Settings are applied in order (later overrides earlier):

  1. Default settings
  2. Agent-level settings (agent.model_settings)
  3. RunConfig settings (config.model_settings)
# Agent settings
agent = Agent(
    model_settings=ModelSettings(temperature=0.5),
)

# RunConfig overrides
config = RunConfig(
    model_settings=ModelSettings(temperature=0.9),
)

# Result uses temperature=0.9
result = await Runner.run(agent, "Hello!", run_config=config)

See Also