JSON Mode & Structured Outputs (Anthropic & OpenAI)
Vendor'ların yapılandırılmış output desteği. JSON Mode (OpenAI), prefilling (Anthropic), tool-use ile schema garantisi.
Şükrü Yusuf KAYA
11 dakikalık okuma
OrtaYapılandırılmış Çıktılar
LLM çıktısı bir programa giriyorsa, kesinlikle parse-edilebilir olmalı. "Bazen JSON, bazen Markdown" production'da kabul edilemez.
3 Yaklaşım#
from openai import OpenAI client = OpenAI() r = client.chat.completions.create( model="gpt-4o", response_format={"type": "json_object"}, # ⬅️ JSON Mode messages=[ {"role": "system", "content": "Sen bir JSON üreticisin. SADECE JSON döndür."}, {"role": "user", "content": "Ad, yaş, şehir alanları olan örnek JSON üret."} ] ) # r.choices[0].message.content → her zaman valid JSON
Avantaj: Garanti JSON format.
Dezavantaj: Schema'yı kontrol etmiyor — sadece parse edilebilir JSON.
python
# Pydantic + OpenAI Structured Outputsfrom pydantic import BaseModelfrom typing import List, Literalfrom openai import OpenAIimport os client = OpenAI(api_key=os.getenv("OPENAI_API_KEY")) class CVInfo(BaseModel): full_name: str email: str | None years_experience: int skills: List[str] seniority: Literal["junior", "mid", "senior", "lead"] CV = """Mehmet Yılmazmehmet.yilmaz@example.com | 0532...12 yıllık backend mühendisi. Lead Developer @ X Şirketi.Python, Go, Kubernetes, PostgreSQL, Kafka.""" r = client.beta.chat.completions.parse( model="gpt-4o-2024-08-06", response_format=CVInfo, messages=[ {"role": "system", "content": "CV'den bilgi çıkar. Eksik veriyi None bırak."}, {"role": "user", "content": CV} ]) cv = r.choices[0].message.parsedprint(cv)print(f"Name: {cv.full_name}")print(f"Seniority: {cv.seniority}")print(f"Skills: {cv.skills}") Type-safe CV parsing.
Schema-driven output = AI Engineering'in temel taşı. Her structured workload'ı Pydantic/Zod ile tanımla.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
İlgili İçerikler
1. Temeller — Yapay Zekâ ve LLM'lere Giriş
Bu Eğitim Hakkında ve Verimli Çalışma Yöntemi
Öğrenmeye Başla1. Temeller — Yapay Zekâ ve LLM'lere Giriş
Yapay Zekâ → Üretken AI → LLM: Bağlamsal Harita
Öğrenmeye Başla1. Temeller — Yapay Zekâ ve LLM'lere Giriş