pydantic-ai
Ajuda seu agente a usar ferramentas de forma segura e organizada. Ele garante que as respostas sejam estruturadas e fáceis de usar. Útil para criar agentes de IA mais robustos.
O que ela faz
PydanticAI é um conjunto de ferramentas para criar agentes de inteligência artificial (IA) em Python. Ele garante que as respostas da IA sejam estruturadas e corretas, facilitando a criação de aplicações de IA robustas e testáveis.
Quando usar
- ✓Ao construir agentes de IA em Python que precisam interagir com outras ferramentas.
- ✓Quando você quer que a IA retorne dados organizados e verificados, não apenas texto solto.
- ✓Para testar a lógica do seu agente de IA sem precisar chamar a IA real toda vez.
Exemplo do que pedir para a IA
“Como posso criar um agente de IA em Python que retorna um resumo de texto em um formato específico?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você define a estrutura esperada da resposta usando modelos Pydantic. O PydanticAI garante que a IA siga essa estrutura e valida a saída. Ele também permite conectar a IA a outras ferramentas e testar tudo facilmente.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill pydantic-aiOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/pydantic-ai/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
PydanticAI — Agentes de IA Tipados em Python
Visão Geral
PydanticAI é um framework de agentes em Python da equipe Pydantic que traz a mesma segurança de tipo e garantias de validação do Pydantic para aplicações baseadas em LLM. Ele suporta saídas estruturadas (validadas com modelos Pydantic), injeção de dependência para testabilidade, respostas em streaming, conversas multi-turn e uso de ferramentas — em OpenAI, Anthropic, Google Gemini, Groq, Mistral e Ollama. Use esta habilidade ao construir agentes de IA de produção, chatbots ou pipelines de LLM onde a correção e a testabilidade importam.
Quando Usar Esta Habilidade
- Use ao construir agentes de IA em Python que chamam ferramentas e retornam dados estruturados
- Use quando precisar de saídas de LLM validadas e tipadas (não strings brutas)
- Use quando quiser escrever testes unitários para a lógica do agente sem chamar um LLM real
- Use ao alternar entre provedores de LLM sem reescrever o código do agente
- Use quando o usuário perguntar sobre
Agent,@agent.tool,RunContext,ModelRetry, ouresult_type
Como Funciona
Passo 1: Instalação
pip install pydantic-ai
# Install extras for specific providers
pip install 'pydantic-ai[openai]' # OpenAI / Azure OpenAI
pip install 'pydantic-ai[anthropic]' # Anthropic Claude
pip install 'pydantic-ai[gemini]' # Google Gemini
pip install 'pydantic-ai[groq]' # Groq
pip install 'pydantic-ai[vertexai]' # Google Vertex AI
Passo 2: Um Agente Mínimo
from pydantic_ai import Agent
# Simple agent — returns a plain string
agent = Agent(
'anthropic:claude-sonnet-4-6',
system_prompt='You are a helpful assistant. Be concise.',
)
result = agent.run_sync('What is the capital of Japan?')
print(result.data) # "Tokyo"
print(result.usage()) # Usage(requests=1, request_tokens=..., response_tokens=...)
Passo 3: Saída Estruturada com Modelos Pydantic
from pydantic import BaseModel
from pydantic_ai import Agent
class MovieReview(BaseModel):
title: str
year: int
rating: float # 0.0 to 10.0
summary: str
recommended: bool
agent = Agent(
'openai:gpt-4o',
result_type=MovieReview,
system_prompt='You are a film critic. Return structured reviews.',
)
result = agent.run_sync('Review Inception (2010)')
review = result.data # Fully typed MovieReview instance
print(f"{review.title} ({review.year}): {review.rating}/10")
print(f"Recommended: {review.recommended}")
Passo 4: Uso de Ferramentas
Registre ferramentas com @agent.tool — o LLM pode chamá-las durante uma execução:
from pydantic_ai import Agent, RunContext
from pydantic import BaseModel
import httpx
class WeatherReport(BaseModel):
city: str
temperature_c: float
condition: str
weather_agent = Agent(
'anthropic:claude-sonnet-4-6',
result_type=WeatherReport,
system_prompt='Get current weather for the requested city.',
)
@weather_agent.tool
async def get_temperature(ctx: RunContext, city: str) -> dict:
"""Fetch the current temperature for a city from the weather API."""
async with httpx.AsyncClient() as client:
r = await client.get(f'https://wttr.in/{city}?format=j1')
data = r.json()
return {
'temp_c': float(data['current_condition'][0]['temp_C']),
'description': data['current_condition'][0]['weatherDesc'][0]['value'],
}
import asyncio
result = asyncio.run(weather_agent.run('What is the weather in Tokyo?'))
print(result.data)
Passo 5: Injeção de Dependência
Injete serviços (banco de dados, clientes HTTP, configuração) em agentes para testabilidade:
from dataclasses import dataclass
from pydantic_ai import Agent, RunContext
from pydantic import BaseModel
@dataclass
class Deps:
db: Database
user_id: str
class SupportResponse(BaseModel):
message: str
escalate: bool
support_agent = Agent(
'openai:gpt-4o-mini',
deps_type=Deps,
result_type=SupportResponse,
system_prompt='Você é um agente de suporte. Use as ferramentas para ajudar os clientes.',
)
@support_agent.tool
async def get_order_history(ctx: RunContext[Deps]) -> list[dict]:
"""Busca pedidos recentes para o usuário atual."""
return await ctx.deps.db.get_orders(ctx.deps.user_id, limit=5)
@support_agent.tool
async def create_refund(ctx: RunContext[Deps], order_id: str, reason: str) -> dict:
"""Inicia um reembolso para um pedido específico."""
return await ctx.deps.db.create_refund(order_id, reason, ctx.deps.user_id)
# Uso
async def handle_support(user_id: str, message: str):
…
Perguntas frequentes
O que são 'modelos Pydantic'?
São como formulários que você define em Python para descrever a estrutura dos dados que espera. Por exemplo, um formulário para dados de um filme pode ter campos como 'título', 'ano' e 'nota'.
O que significa 'type-safe'?
Significa que o código verifica os tipos de dados (como texto, número, booleano) para evitar erros. PydanticAI traz essa segurança para as interações com a IA.
Como eu testo meu agente de IA sem gastar dinheiro ou tempo?
PydanticAI permite usar modelos de teste que simulam respostas da IA, permitindo que você teste a lógica do seu agente sem fazer chamadas reais para serviços de IA caros.
Detalhes
Descrição original do autor
Build production-ready AI agents with PydanticAI — type-safe tool use, structured outputs, dependency injection, and multi-model support.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3927
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC