PydanticAI : Construire des applications d'IA générative avec Pydantic facilite la construction d'applications d'IA de niveau de production

Introduction générale

PydanticAI est un cadre d'agent Python basé sur Pydantic et conçu pour simplifier le développement d'applications d'IA générative. Développé par l'équipe Pydantic, il supporte une large gamme de modèles (par exemple OpenAI, Gemini, Groq, etc.) et fournit un flux de contrôle et des combinaisons d'agents à sécurité de type.PydanticAI assure l'efficacité et la fiabilité des applications d'IA générative grâce à la validation des réponses structurées et aux réponses en continu. Son système unique d'injection de dépendances facilite les tests et le développement itératif, et intègre Logfire pour le débogage et la surveillance des performances de l'application.PydanticAI est actuellement en version bêta précoce et l'API est sujette à des changements, les commentaires des utilisateurs sont les bienvenus.

 

Liste des fonctions

  • Prise en charge de plusieurs modèlesCompatible avec OpenAI, Gemini, Groq et de nombreux autres modèles d'IA générative.
  • type de sécuritéValidation des réponses structurées : validation des réponses structurées à l'aide de Pydantic pour garantir la sécurité des types de données.
  • Système d'injection de dépendanceLe système d'injection de dépendances : il permet d'injecter des dépendances de manière sûre, ce qui facilite les tests et le développement itératif.
  • réponse en continuLa technologie de l'Internet : elle prend en charge la réponse et la validation en continu afin d'améliorer la réactivité et la fiabilité de l'application.
  • Intégration de LogfireLe système de gestion de l'information de l'UE : pour le débogage et le contrôle des performances et du comportement des applications d'intelligence artificielle générative.
  • interface simpleLes modèles d'évaluation de la qualité de l'air et de la qualité de l'eau : Fournir des interfaces propres pour faciliter l'extension et l'intégration avec d'autres modèles.

 

Utiliser l'aide

Processus d'installation

  1. Installation de PydanticAIPour cela, il faut s'assurer que la version de Python est supérieure ou égale à 3.9 et installer PydanticAI à l'aide de la commande suivante :
   pip install pydantic-ai
  1. Installation des dépendancesPydanticAI dépend d'un certain nombre de bibliothèques de base et d'API LLM, et ces dépendances sont gérées automatiquement pendant l'installation.

Lignes directrices pour l'utilisation

Création d'un proxy simple

  1. Définition des agentsLes agents : créer un agent simple et spécifier le modèle à utiliser.
   from pydantic_ai import Agent
agent = Agent(
'gemini-1.5-flash',
system_prompt='Be concise, reply with one sentence.',
)
  1. Agents d'exécution: Exécution simultanée d'agents pour un dialogue simple.
   result = agent.run_sync('Where does "hello world" come from?')
print(result.data)

Exemple de mandataire complexe

  1. Définir les modèles de dépendance et de résultatsLes modèles de dépendance et de résultats : Utiliser Pydantic pour définir les modèles de dépendance et de résultats.
   from dataclasses import dataclass
from pydantic import BaseModel, Field
from pydantic_ai import Agent, RunContext
from bank_database import DatabaseConn
@dataclass
class SupportDependencies:
customer_id: int
db: DatabaseConn
class SupportResult(BaseModel):
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='Risk level of query', ge=0, le=10)
  1. Création d'agents d'assistanceDéfinir les indices du système et les fonctions d'utilité.
   support_agent = Agent(
'openai:gpt-4o',
deps_type=SupportDependencies,
result_type=SupportResult,
system_prompt=(
'You are a support agent in our bank, give the '
'customer support and judge the risk level of their query.'
),
)
@support_agent.system_prompt
async def add_customer_name(ctx: RunContext[SupportDependencies]) -> str:
customer_name = await ctx.deps.db.customer_name(id=ctx.deps.customer_id)
return f"The customer's name is {customer_name!r}"
@support_agent.tool
async def customer_balance(ctx: RunContext[SupportDependencies], include_pending: bool) -> float:
"""Returns the customer's current account balance."""
return await ctx.deps.db.customer_balance(id=ctx.deps.customer_id, include_pending=include_pending)
  1. Exécuter l'agent de supportLancement de l'agent avec les dépendances définies : Lancer l'agent avec les dépendances définies.
   async def main():
deps = SupportDependencies(customer_id=123, db=DatabaseConn())
result = await support_agent.run('What is my balance?', deps=deps)
print(result.data)
# 输出示例:support_advice='Hello John, your current account balance, including pending transactions, is $123.45.' block_card=False risk=1
result = await support_agent.run('I just lost my card!', deps=deps)
print(result.data)
# 输出示例:support_advice="I'm sorry to hear that, John. Your card has been blocked for security reasons." block_card=True risk=7

Débogage et surveillance

PydanticAI intègre Logfire pour le débogage et la surveillance des performances et du comportement des applications d'IA générative. Avec Logfire, vous pouvez voir le fonctionnement de l'agent en temps réel, analyser les données de réponse et optimiser la performance de l'application.

Retour d'information et amélioration

PydanticAI est actuellement en version bêta et l'API est susceptible d'être modifiée. Les utilisateurs sont invités à soumettre leurs commentaires via GitHub s'ils rencontrent des problèmes ou s'ils ont des suggestions d'amélioration pendant l'utilisation.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...