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.
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.99Validating 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_formatUsing 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.parsedOptional Fields
from typing import Optional
class Order(BaseModel):
id: int
note: Optional[str] = NoneDefaults
class Settings(BaseModel):
units: str = 'celsius'
notify: bool = TrueTakma 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) # 42Ayrı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.
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
- JSON Kipi ve Araç Çağrısı Çıktıları
- Pydantic Şema Doğrulaması
- Hatalı Çıktılar için Onarım Döngüleri
- Garantili Yapı için Instructor ve Outlines