JSON Schema ile Sıkı Sözleşmeler
JSON Schema standardı ile detaylı validation kuralları: pattern (regex), enum, minimum/maximum, format. Modeli sıkı tutmak.
Şükrü Yusuf KAYA
8 min read
IntermediateJSON Schema: Sıkı Sözleşmeler
JSON parse edilebilir olması yetmez. İçeriğin şekli doğru olmalı.
json
{ "type": "object", "properties": { "email": { "type": "string", "format": "email" }, "phone": { "type": "string", "pattern": "^\\+90[0-9]{10}$" }, "age": { "type": "integer", "minimum": 0, "maximum": 120 }, "level": { "type": "string", "enum": ["junior", "mid", "senior", "lead"] }, "skills": { "type": "array", "items": { "type": "string" }, "minItems": 1, "maxItems": 20, "uniqueItems": true } }, "required": ["email", "level"], "additionalProperties": false}Tam featurelı JSON Schema
Validation: 2 Aşamalı#
python
# Pydantic ile sıkı validationfrom pydantic import BaseModel, EmailStr, Field, validatorfrom typing import List, Literalimport re class Lead(BaseModel): email: EmailStr phone: str = Field(pattern=r"^\+90[0-9]{10}$") age: int = Field(ge=18, le=120) interests: List[str] = Field(min_length=1, max_length=10) priority: Literal["low", "medium", "high"] # Validok = Lead( email="ali@x.com", phone="+905321234567", age=30, interests=["python"], priority="high",)print("Valid:", ok) # Invalid (yakalandığı an Exception)try: bad = Lead( email="not-an-email", phone="0532", # +90 yok age=200, # > 120 interests=[], # boş priority="urgent" # enum değil )except Exception as e: print("\nValidation hataları:") print(e) Pydantic ile çoklu kural validation.
Pratik: Vendor "Structured Outputs" (OpenAI) schema'ya garanti uyar (yeni!). Anthropic'te tool-use ile aynı garantiyi alırsın. İkisi de manuel retry ihtiyacını dramatik azaltır.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
1. Temeller — Yapay Zekâ ve LLM'lere Giriş
Bu Eğitim Hakkında ve Verimli Çalışma Yöntemi
Start Learning1. Temeller — Yapay Zekâ ve LLM'lere Giriş
Yapay Zekâ → Üretken AI → LLM: Bağlamsal Harita
Start Learning1. Temeller — Yapay Zekâ ve LLM'lere Giriş