City

Model Pool

How City manages the model catalog and how Agents bind to models

Model Pool

City owns the model catalog through the Federation AIService. Agents do not embed provider keys or model definitions directly. Instead, they bind to models by ID, and City resolves the ID to a live model instance at runtime.

How it works

  1. City registers model providers (OpenAI, Anthropic, Google, local models, etc.)
  2. Each provider exposes capabilities and model IDs
  3. The Federation AIService maintains a unified catalog
  4. Agents bind to a model ID like "default" or "quality"
  5. At runtime, the ID is resolved to a live model instance

Model binding

For CLI-managed projects, the binding is declared in downcity.json:

{
  "execution": {
    "type": "api",
    "modelId": "quality"
  }
}

For SDK projects, the model is passed directly to the constructor or session.

Provider management

City handles:

  • Provider registration and authentication
  • Model capability discovery
  • Usage metering per provider
  • Failover between providers

Continue with: