Skip to content

pydantic-ai (Anthropic) ​

pydantic-ai with AnthropicModel, on plugboard's Messages API. For the OpenAI-shaped model, see pydantic-ai.

Connect ​

AnthropicModel takes an Anthropic SDK client whose base URL is the plugboard origin, without /v1:

py
def chat_model(client: AsyncAnthropic, model: str) -> AnthropicModel:
    return AnthropicModel(model, provider=AnthropicProvider(anthropic_client=client), settings=ModelSettings(max_tokens=1024))

Chat ​

py
agent = Agent(chat_model(client, model))
result = await agent.run("Reply with exactly: pong")

Tool calls ​

py
agent = Agent(chat_model(client, model))

@agent.tool_plain
def get_weather(city: str) -> dict:
    """Get the current weather for a city."""
    return {"temp_c": 18, "sky": "cloudy"}

result = await agent.run(PROMPT)

Structured output ​

py
agent = Agent(chat_model(client, model), output_type=Meal)
result = await agent.run(PROMPT)
meal = result.output  # a Meal, or pydantic-ai raises after its retries

Limits ​

  • Errors carry error.type and no error.code.