Araç Çıktılarını Doğrulama (Pydantic)
Her araç çıktısını bir Pydantic modeli üzerinden ayrıştırın; hatalı yanıtlarda hatayı açıkça bildirin.
Araç Çıktılarını Doğrulama (Pydantic), CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, AI Agents öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Agents kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Güvenin Ama Doğrulayın
Araç çıktıları dış dünyadan gelir — API'ler, web sayfaları ve modeller. Hatalı veya beklenmeyen bir yanıt ajanın çökmesine ya da daha kötüsü, kötü verilerin fark edilmeden LLM'ye aktarılmasına neden olabilir.
Her araç çıktısını bir şemaya göre doğrulayın.
Pydantic Modelleri
Beklenen biçimleri tanımlayın:
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 resultsModel Doğrulamalı Listeler
Yanıtın tamamını doğrulayın:
from pydantic import BaseModel
class SearchResponse(BaseModel):
results: list[SearchResult]
response = SearchResponse.model_validate(raw)Alan Doğrulayıcıları
Alanların içindeki özel kontroller:
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 vKatı ve Esnek Doğrulama
Pydantic varsayılan olarak türleri dönüştürür (mümkün olduğunda dizeyi tamsayıya dönüştürür). Katı kontroller için:
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' # fallbackLLM Yapılandırılmış Çıktısını Doğrulama
Modeli, Pydantic şemasına uyan JSON döndürmeye zorlayın — Yapılandırılmış Çıktılar dersine bakın. Derinlemesine savunma sağlamak için sınırda tekrar doğrulayın.
Araç Bağımsız Değişkenlerini Doğrulama
Çalıştırmadan önce modelin tool_call.arguments değerini doğrulayın:
class SearchArgs(BaseModel):
query: str
k: int = 5
args = SearchArgs.model_validate_json(tool_call.function.arguments)
results = search(args.query, args.k)Doğrulama Hatalarını Araç Sonucu Olarak Döndürme
Doğrulama başarısız olursa hatayı modele döndürün; böylece model düzeltilmiş bağımsız değişkenlerle yeniden deneyebilir:
try:
args = SearchArgs.model_validate_json(...)
except ValidationError as e:
return {'error': f'Invalid arguments: {e}'}Şema Sürümleri
Bir aracın çıktı şeması değiştiğinde sürümünü güncelleyin:
class SearchResultV2(BaseModel):
title: str
url: HttpUrl
relevance: float # was 'score' in v1Pydantic'ten JSON Şeması Üretme
Araç şeması tanımları için kendi Pydantic sınıfınızdan türetin:
schema = SearchArgs.model_json_schema()
# Use directly as the 'parameters' for an OpenAI tool definition.Doğrulamanın Amacı
Her araç çıktısında neden Pydantic kullanılır?
Özet
Her sınırda Pydantic kullanın: içeri giren araç bağımsız değişkenleri, dışarı çıkan araç çıktıları ve LLM yapılandırılmış çıktıları. Sessiz veri bozulmasındansa görünür hatalar daha iyidir.
Sıkça Sorulan Sorular
“Araç Çıktılarını Doğrulama (Pydantic)” dersi ücretsiz mi?
Evet — “Araç Çıktılarını Doğrulama (Pydantic)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve AI Agents kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Agents kursu toplamda 4 dersten oluşur.
“Araç Çıktılarını Doğrulama (Pydantic)” dersinde ne öğreneceğim?
Her araç çıktısını bir Pydantic modeli üzerinden ayrıştırın; hatalı yanıtlarda hatayı açıkça bildirin. AI Agents ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
AI Agents öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AI Agents, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Araç Çıktılarını Doğrulama (Pydantic)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu AI Agents dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AI Agents dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- İdempotent Araçlar ve Yan Etkiler
- Üstel Geri Çekilmeyle Yeniden Denemeler
- Zaman Aşımları ve Devre Kesiciler
- Araç Çıktılarını Doğrulama (Pydantic)