0Pricing
AI Agents · Ders

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.0

Validate 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 results

Model 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 v

Katı 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'   # fallback

LLM 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 v1

Pydantic'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

  1. İdempotent Araçlar ve Yan Etkiler
  2. Üstel Geri Çekilmeyle Yeniden Denemeler
  3. Zaman Aşımları ve Devre Kesiciler
  4. Araç Çıktılarını Doğrulama (Pydantic)
← AI Agents Sayfasına Dön