Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #3927

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/pydantic-ai/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/pydantic-ai/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-ai

Ou 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.md
Conteú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, ou result_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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3927
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas