Aprendizagem pessoal com IA
e orientação prática

PydanticAI: A criação de aplicativos de IA generativa com o Pydantic facilita a criação de aplicativos de IA de nível de produção

Introdução geral

O PydanticAI é uma estrutura de agente Python baseada no Pydantic, projetada para simplificar o desenvolvimento de aplicativos de IA generativa. Desenvolvido pela equipe da Pydantic, ele oferece suporte a uma ampla variedade de modelos (por exemplo, OpenAI, Gemini, Groq etc.) e fornece combinações de agentes e fluxo de controle com segurança de tipo.O PydanticAI garante a eficiência e a confiabilidade de aplicativos de IA generativa por meio de validação de resposta estruturada e respostas de streaming. Seu sistema exclusivo de injeção de dependência facilita o teste e o desenvolvimento iterativo, e integra o Logfire para depuração e monitoramento do desempenho do aplicativo. O PydanticAI está atualmente na versão beta inicial e a API está sujeita a alterações.

 

Lista de funções

  • Suporte a vários modelosCompatível com OpenAI, Gemini, Groq e muitos outros modelos de IA generativa.
  • segurança de tipoValidação de resposta estruturada usando Pydantic para garantir a segurança do tipo de dados.
  • Sistema de injeção de dependênciaInjeção de dependência com segurança de tipo: fornece injeção de dependência com segurança de tipo para facilitar os testes e o desenvolvimento iterativo.
  • resposta de streamingSuporte à resposta e validação de streaming para melhorar a capacidade de resposta e a confiabilidade dos aplicativos.
  • Integração com o Logfirepara depurar e monitorar o desempenho e o comportamento de aplicativos de IA generativa.
  • interface simplesFornecimento de interfaces limpas para facilitar a extensão e a integração com outros modelos.

 

Usando a Ajuda

Processo de instalação

  1. Instalação do PydanticAIVerifique se a versão do Python é 3.9 ou superior e instale o PydanticAI usando o seguinte comando:
   pip install pydantic-ai
  1. Instalação de dependênciasPydanticAI depende de várias bibliotecas principais e APIs LLM, e essas dependências são tratadas automaticamente durante a instalação.

Diretrizes para uso

Criação de um proxy simples

  1. Definição de agentesCriar um agente simples e especificar o modelo a ser usado.
   from pydantic_ai import Agent
agent = Agent(
'gemini-1.5-flash', system_prompt='Seja conciso, responda com uma frase.
system_prompt='Seja conciso, responda com uma frase.
)
  1. Agentes de execuçãoExecução simultânea de agentes para um diálogo simples.
   result = agent.run_sync('De onde vem o "hello world"?')
print(result.data)

Exemplo de proxy complexo

  1. Definir modelos de dependência e de resultadosUso do Pydantic para definir modelos de dependência e de resultados.
   from dataclasses import dataclass
from pydantic import BaseModel, Field
from pydantic_ai import Agent, RunContext
from bank_database import DatabaseConn
classe de dados
class SupportDependencies: customer_id: int
customer_id: int
db: DatabaseConn
class SupportResult(BaseModel): support_advice: str = Field(description='Advice returned to the customer')
support_advice: str = Field(description='Advice returned to the customer')
support_advice: str = Field(description='Advice returned to the customer') block_card: bool = Field(description="Whether to block the customer's card")
risk: int = Field(description='Nível de risco da consulta', ge=0, le=10)
  1. Criação de agentes de suporteDefinir dicas de sistema e funções de utilidade.
   support_agent = Agent(
'openai:gpt-4o',
deps_type=SupportDependencies, result_type=SupportResult, support_agent = Agent(
deps_type=SupportDependencies, result_type=SupportResult, system_prompt=(
system_prompt=(
'Você é um agente de suporte em nosso banco, dê o '
'suporte ao cliente e julgue o nível de risco de sua consulta'.
),
)
@support_agent.system_prompt
async def add_customer_name(ctx: RunContext[SupportDependencies]) -> str.
nome_do_cliente = await ctx.deps.db.nome_do_cliente(id=ctx.deps.customer_id)
return f "O nome do cliente é {nome_do_cliente!r}"
@support_agent.tool
async def customer_balance(ctx: RunContext[SupportDependencies], include_pending: bool) -> float.
"""Retorna o saldo da conta atual do cliente.""""
return await ctx.deps.db.customer_balance(id=ctx.deps.customer_id, include_pending=include_pending)
  1. Executar agente de suporteExecute o agente com as dependências definidas.
   async def main():
deps = SupportDependencies(customer_id=123, db=DatabaseConn())
result = await support_agent.run('What is my balance?', deps=deps)
print(result.data)
# Exemplo de saída: support_advice='Olá, João, o saldo da sua conta atual, incluindo transações pendentes, é $123.45.' block_card=False risk=1
result = await support_agent.run('Acabei de perder meu cartão!', deps=deps)
print(result.data)
# Exemplo de saída: support_advice="Lamento ouvir isso, John. Seu cartão foi bloqueado por motivos de segurança." block_card=True risk=7

Depuração e monitoramento

O PydanticAI integra o Logfire para depurar e monitorar o desempenho e o comportamento de aplicativos de IA generativa. Com o Logfire, você pode visualizar a operação do agente em tempo real, analisar os dados de resposta e otimizar o desempenho do aplicativo.

Feedback e aprimoramento

O PydanticAI está atualmente na versão beta inicial e a API está sujeita a alterações. Os usuários podem enviar comentários pelo GitHub se encontrarem algum problema ou tiverem sugestões de melhoria durante o uso.


Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " PydanticAI: A criação de aplicativos de IA generativa com o Pydantic facilita a criação de aplicativos de IA de nível de produção

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil