Skip to content

Provider Configuration

Providers determine how an agent processes messages and generates responses. The provider configuration is set in the agent's type field.

AI Provider (PydanticAI)

The default provider, using pydantic-ai for language model integration.

agents:
  my-agent:
    provider:
      type: "pydantic_ai"  # provider discriminator
      name: "gpt4-agent"  # optional provider instance name
      end_strategy: "early"  # "early" | "complete" | "confirm"
      result_retries: 3  # max retries for result validation
      defer_model_check: false  # whether to defer model check until first run
      model_settings:  # additional settings passed to pydantic-ai
        temperature: 0.7
        max_tokens: 1000
      validation_enabled: true  # whether to validate outputs against schemas
      allow_text_fallback: true  # accept plain text when structure fails

Human Provider

Provider that routes messages to human operators for manual responses.

agents:
  human-agent:
    provider:
      type: "human"
      name: "human-reviewer"  # optional instance name
      timeout: 300  # seconds to wait for response (null = wait forever)
      show_context: true  # whether to show conversation context

LiteLLM Provider

Provider using LiteLLM for unified model access.

agents:
  my-agent:
    provider:
      type: "litellm"
      name: "litellm-agent"  # optional instance name
      retries: 3  # max retries for failed calls
      model: "openai:gpt-4"  # optional model override
      model_settings:  # additional settings passed to LiteLLM
        temperature: 0.5
        api_key: "${OPENAI_API_KEY}"  # environment variable

Callback Provider

Provider that uses Python functions for responses.

agents:
  callback-agent:
    provider:
      type: "callback"
      name: "custom-processor"  # optional name
      callback: "myapp.processors.analyze_text"  # import path to function

Shorthand Syntax

For common providers, you can use string shortcuts instead of full configuration:

provider: "pydantic_ai"  # Use default AI provider (pydantic-ai
# or
provider: "human"  # Use default human provider
# or
provider: "litellm"  # Use default LiteLLM provider
# or
provider: "path.to.callable"  # Create a CallableProvider

Configuration Notes

  • The type field serves as discriminator for provider configurations
  • Provider settings affect only message processing, not agent infrastructure
  • Each provider type has its own validation requirements
  • Settings can be overridden at runtime through the Python API
  • Environment variables can be used in configuration values