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 retriesLimits
- Errors carry
error.typeand noerror.code.