AI Personal Learning
und praktische Anleitung
豆包Marscode1

PydanticAI: Die Entwicklung generativer KI-Anwendungen mit Pydantic macht es einfacher, produktionsreife KI-Anwendungen zu entwickeln

Allgemeine Einführung

PydanticAI ist ein auf Pydantic basierendes Python-Agenten-Framework, das die Entwicklung von generativen KI-Anwendungen vereinfachen soll. Es wurde vom Pydantic-Team entwickelt und unterstützt eine Vielzahl von Modellen (z. B. OpenAI, Gemini, Groq usw.) und bietet typsichere Kontrollfluss- und Agentenkombinationen.PydanticAI gewährleistet die Effizienz und Zuverlässigkeit von generativen KI-Anwendungen durch strukturierte Antwortvalidierung und Streaming-Antworten. Das einzigartige System zur Injektion von Abhängigkeiten erleichtert das Testen und die iterative Entwicklung und integriert Logfire zum Debuggen und Überwachen der Anwendungsleistung.PydanticAI befindet sich derzeit in einer frühen Betaphase und die API kann sich noch ändern.

 

Funktionsliste

  • Unterstützung mehrerer ModelleKompatibel mit OpenAI, Gemini, Groq und vielen anderen generativen KI-Modellen.
  • TypensicherheitValidierung strukturierter Antworten mit Pydantic zur Gewährleistung der Datentypsicherheit.
  • System zur Einspritzung von AbhängigkeitenBietet typsichere Injektion von Abhängigkeiten für einfache Tests und iterative Entwicklung.
  • Streaming-ReaktionUnterstützt Streaming Response und Validierung zur Verbesserung der Reaktionsfähigkeit und Zuverlässigkeit von Anwendungen.
  • Logfire-Integrationfür das Debugging und die Überwachung der Leistung und des Verhaltens von generativen KI-Anwendungen.
  • einfache Schnittstelle: Bieten Sie saubere Schnittstellen für eine einfache Erweiterung und Integration mit anderen Modellen.

 

Hilfe verwenden

Einbauverfahren

  1. Installation von PydanticAIStellen Sie sicher, dass die Python-Version 3.9 oder höher ist und installieren Sie PydanticAI mit dem folgenden Befehl:
   pip install pydantic-ai
  1. Installation von AbhängigkeitenPydanticAI hängt von einer Reihe von Kernbibliotheken und LLM-APIs ab, und diese Abhängigkeiten werden bei der Installation automatisch behandelt.

Leitlinien für die Verwendung

Erstellen eines einfachen Proxys

  1. Agenten definierenErstellen Sie einen einfachen Agenten und geben Sie das zu verwendende Modell an.
   from pydantic_ai import Agent
agent = Agent(
'gemini-1.5-flash',
system_prompt='Be concise, reply with one sentence.',
)
  1. Laufende Agenten: Gleichzeitiger Betrieb von Agenten für einfache Dialoge.
   result = agent.run_sync('Where does "hello world" come from?')
print(result.data)

Beispiel für eine komplexe Vollmacht

  1. Definition von Abhängigkeits- und ErgebnismodellenPydantic: Verwenden Sie Pydantic, um Abhängigkeits- und Ergebnismodelle zu definieren.
   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. Erstellen von Support-AgentenSystemtipps und Nutzenfunktionen definieren.
   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. Support Agent ausführenStarten Sie den Agenten mit den definierten Abhängigkeiten.
   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

Fehlersuche und Überwachung

PydanticAI integriert Logfire zum Debuggen und Überwachen der Leistung und des Verhaltens von generativen KI-Anwendungen. Mit Logfire können Sie den Agentenbetrieb in Echtzeit anzeigen, Antwortdaten analysieren und die Anwendungsleistung optimieren.

Feedback und Verbesserung

PydanticAI befindet sich derzeit in einer frühen Betaphase und die API kann sich noch ändern. Nutzer sind eingeladen, über GitHub Feedback zu geben, wenn sie bei der Nutzung auf Probleme stoßen oder Verbesserungsvorschläge haben.


Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " PydanticAI: Die Entwicklung generativer KI-Anwendungen mit Pydantic macht es einfacher, produktionsreife KI-Anwendungen zu entwickeln
de_DEDeutsch