AI Agents · Ders

Pydantic Şema Doğrulaması

Çıktınızı bir Pydantic BaseModel olarak tanımlayın, JSON'u doğrulayın ve hatalı yanıtları erkenden yakalayın.

2. ders / 415 adım

Pydantic Şema Doğrulaması, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 2. 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.

Pydantic Neden Kullanılır?

Pydantic, Python için fiilî tür güvenliği kütüphanesidir. Şunları yapar:

  • Sözlükleri, tür açıklamalı sınıflara göre doğrular
  • Uyuşmazlık durumunda tür dönüştürür veya reddeder
  • OpenAI API'si için otomatik olarak JSON Şeması oluşturur
  • FastAPI, LangChain ve LlamaIndex ile sorunsuz çalışır

Defining a Schema

from pydantic import BaseModel, Field

class Product(BaseModel):
    name: str
    price: float = Field(gt=0, description='Positive price in USD')
    in_stock: bool
    tags: list[str] = []

Validating a Dict

data = {'name': 'Mug', 'price': 9.99, 'in_stock': True, 'tags': ['kitchen']}
product = Product.model_validate(data)
print(product.price)        # 9.99

Validating JSON

json_str = '{"name":"Mug","price":9.99,"in_stock":true}'
product = Product.model_validate_json(json_str)

Validation Errors

from pydantic import ValidationError

try:
    Product.model_validate({'name': 'Mug', 'price': -1, 'in_stock': True})
except ValidationError as e:
    print(e)
# [{'type': 'greater_than', 'loc': ('price',), 'msg': 'Input should be greater than 0', ...}]

Field-Level Validators

from pydantic import field_validator

class User(BaseModel):
    email: str

    @field_validator('email')
    @classmethod
    def must_have_at(cls, v):
        if '@' not in v:
            raise ValueError('Invalid email')
        return v.lower()

Nested Models

class Address(BaseModel):
    city: str
    zip: str

class User(BaseModel):
    name: str
    address: Address

data = {'name': 'Alice', 'address': {'city': 'Berlin', 'zip': '10115'}}
user = User.model_validate(data)
print(user.address.city)

Generating JSON Schema

schema = Product.model_json_schema()
# Pass straight to OpenAI tools or response_format

Using With OpenAI SDK

from openai import OpenAI
client = OpenAI()

response = client.beta.chat.completions.parse(
    model='gpt-4o-2024-08-06',
    messages=[{'role': 'user', 'content': 'Give me a product.'}],
    response_format=Product
)
product = response.choices[0].message.parsed

Optional Fields

from typing import Optional
class Order(BaseModel):
    id: int
    note: Optional[str] = None

Defaults

class Settings(BaseModel):
    units: str = 'celsius'
    notify: bool = True

Takma Adlar

JSON snake_case biçimini Python camelCase biçimine veya tersine dönüştürmek için:

class User(BaseModel):
    user_id: int = Field(alias='userId')

u = User.model_validate({'userId': 42})
print(u.user_id)   # 42

Ayrımlı Birleşimler

Çok biçimli türler için Pydantic'in ayrımlı birleşimini kullanın:

from typing import Literal, Union
from pydantic import Field

class TextMessage(BaseModel):
    type: Literal['text']
    content: str

class ImageMessage(BaseModel):
    type: Literal['image']
    url: str

Message = Annotated[Union[TextMessage, ImageMessage], Field(discriminator='type')]

Doğrulamanın Amacı

Her araç çıktısında neden Pydantic kullanılmalıdır?

Özet

Pydantic, LLM çıktıları, araç çıktıları ve kodunuz arasındaki sözleşme katmanıdır. Her yerde kullanın; garanti edilmiş geçerlilik için yapılandırılmış çıktılarla birleştirin.

Başlamak ücretsiz

Yapay zeka eğitmeniyle AI Agents öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
60
Dersler
239

Sıkça Sorulan Sorular

“Pydantic Şema Doğrulaması” dersi ücretsiz mi?

Evet — “Pydantic Şema Doğrulaması” 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.

“Pydantic Şema Doğrulaması” dersinde ne öğreneceğim?

Çıktınızı bir Pydantic BaseModel olarak tanımlayın, JSON'u doğrulayın ve hatalı yanıtları erkenden yakalayın. 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 2. dersidir.

“Pydantic Şema Doğrulaması” 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. JSON Kipi ve Araç Çağrısı Çıktıları
  2. Pydantic Şema Doğrulaması
  3. Hatalı Çıktılar için Onarım Döngüleri
  4. Garantili Yapı için Instructor ve Outlines
← AI Agents Sayfasına Dön