Tool-Ausgaben validieren (Pydantic)
Parsen Sie jede Tool-Ausgabe mit einem Pydantic-Modell – bei einer fehlerhaften Antwort soll der Fehler deutlich sichtbar werden.
Tool-Ausgaben validieren (Pydantic) ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Vertrauen Sie, aber überprüfen Sie
Tool-Ausgaben stammen aus der Außenwelt — aus APIs, Webseiten und Modellen. Eine fehlerhafte oder unerwartete Antwort kann Ihren Agenten zum Absturz bringen oder, schlimmer noch, unbemerkt fehlerhafte Daten in das LLM einspeisen.
Validieren Sie jede Tool-Ausgabe anhand eines Schemas.
Pydantic-Modelle
Definieren Sie die erwarteten Strukturen:
from pydantic import BaseModel, HttpUrl
class SearchResult(BaseModel):
title: str
url: HttpUrl
snippet: str
score: float = 0.0Validate at the Boundary
from pydantic import ValidationError
def search(query):
raw = requests.post('https://api.tavily.com/search', json={'query': query}).json()
results = []
for r in raw.get('results', []):
try:
results.append(SearchResult.model_validate(r))
except ValidationError as e:
log.warning('Bad search result skipped: %s', e)
return resultsListen mit Modellvalidierung
Validieren Sie die gesamte Antwort:
from pydantic import BaseModel
class SearchResponse(BaseModel):
results: list[SearchResult]
response = SearchResponse.model_validate(raw)Feldvalidatoren
Benutzerdefinierte Prüfungen innerhalb von Feldern:
from pydantic import field_validator
class SearchResult(BaseModel):
score: float
@field_validator('score')
@classmethod
def score_in_range(cls, v):
if not 0 <= v <= 1:
raise ValueError('score out of [0,1]')
return vStreng oder tolerant
Standardmäßig wandelt Pydantic Typen automatisch um (z. B. String -> Integer, sofern möglich). Für strenge Prüfungen:
from pydantic import StrictInt
class User(BaseModel):
age: StrictInt # rejects '25' (string)Default Values for Missing Fields
class Tool(BaseModel):
name: str
description: str = 'No description provided' # fallbackStrukturierte LLM-Ausgaben validieren
Zwingen Sie das Modell, JSON zurückzugeben, das zu einem Pydantic-Schema passt — siehe die Lektion zu Structured Outputs. Validieren Sie zusätzlich an der Grenze, um eine mehrschichtige Absicherung zu erhalten.
Tool-Argumente validieren
Validieren Sie die tool_call.arguments des Modells, bevor Sie sie ausführen:
class SearchArgs(BaseModel):
query: str
k: int = 5
args = SearchArgs.model_validate_json(tool_call.function.arguments)
results = search(args.query, args.k)Validierungsfehler als Tool-Ergebnisse
Wenn die Validierung fehlschlägt, geben Sie den Fehler an das Modell zurück, damit es die Argumente korrigiert und den Aufruf wiederholen kann:
try:
args = SearchArgs.model_validate_json(...)
except ValidationError as e:
return {'error': f'Invalid arguments: {e}'}Schema-Versionierung
Wenn sich das Ausgabeschema eines Tools ändert, versionieren Sie es:
class SearchResultV2(BaseModel):
title: str
url: HttpUrl
relevance: float # was 'score' in v1JSON-Schema aus Pydantic erzeugen
Leiten Sie für Tool-Schemadefinitionen das Schema aus Ihrer Pydantic-Klasse ab:
schema = SearchArgs.model_json_schema()
# Use directly as the 'parameters' for an OpenAI tool definition.Ziel der Validierung
Warum sollte jede Tool-Ausgabe mit Pydantic validiert werden?
Zusammenfassung
Pydantic an jeder Grenze: eingehende Tool-Argumente, ausgehende Tool-Ausgaben und strukturierte LLM-Ausgaben. Deutliche Fehler sind besser als unbemerkte Datenverfälschung.
Häufig gestellte Fragen
Ist die Lektion „Tool-Ausgaben validieren (Pydantic)“ kostenlos?
Ja — der vollständige Text von „Tool-Ausgaben validieren (Pydantic)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Tool-Ausgaben validieren (Pydantic)“?
Parsen Sie jede Tool-Ausgabe mit einem Pydantic-Modell – bei einer fehlerhaften Antwort soll der Fehler deutlich sichtbar werden. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Agents zu starten?
Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Tool-Ausgaben validieren (Pydantic)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?
Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Idempotente Tools und Seiteneffekte
- Wiederholungen mit exponentiellem Backoff
- Timeouts und Circuit Breaker
- Tool-Ausgaben validieren (Pydantic)