mirror of
https://github.com/hanzoai/python-sdk.git
synced 2026-10-23 20:23:00 +00:00
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
3.7 KiB
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):
- Default settings
- Agent-level settings (
agent.model_settings) - 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
- Agents - Agent configuration
- Models - Model details
- Running Agents - Using RunConfig