JSON Kipi ve Araç Çağrısı Çıktıları
Makine tarafından ayrıştırılabilir çıktıyı zorlamak için response_format={'type':'json_object'} veya tek bir araç çağrısı kullanın.
JSON Kipi ve Araç Çağrısı Çıktıları, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 1. 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.
Yapı İhtiyacı
LLM'lerden gelen serbest biçimli metin kod için elverişsizdir. Üretim araçlarının ayrıştırılabilir çıktıya ihtiyacı vardır: JSON, XML, işlev bağımsız değişkenleri; hiçbir zaman "yanıt şudur..." biçiminde olmamalıdır.
JSON Modu (OpenAI)
Modele "her zaman JSON döndürmesini" söyleyin:
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[
{'role': 'system', 'content': 'Return a JSON object with name and age.'},
{'role': 'user', 'content': 'Alice, 30 years old.'}
],
response_format={'type': 'json_object'}
)
import json
data = json.loads(response.choices[0].message.content)JSON Modu Uyarısı
JSON modu yalnızca geçerli JSON'ı garanti eder; SHAPE değerini garanti etmez. Model {} veya {"foo": "bar"} döndürebilir. Yapının kendisini de her zaman doğrulayın.
Yapılandırılmış Çıktılar (Katı)
OpenAI Yapılandırılmış Çıktılar, yanıtın bir JSON Şemasıyla eşleşmesini garanti eder:
schema = {
'name': 'person',
'schema': {
'type': 'object',
'properties': {
'name': {'type': 'string'},
'age': {'type': 'integer'}
},
'required': ['name', 'age'],
'additionalProperties': False
},
'strict': True
}
response = client.chat.completions.create(
model='gpt-4o-2024-08-06',
messages=...,
response_format={'type': 'json_schema', 'json_schema': schema}
)Katı Mod Nasıl Çalışır
Katı mod, kod çözücüyü kısıtlayarak modelin geçersiz bir belirteç üretmesini kelimenin tam anlamıyla imkânsız hâle getirir. Çıktı, şemayla %100 eşleşir.
Yapılandırılmış Çıktı Olarak Araç Çağrıları
Yapılandırılmış verileri ayıklamak için belirli bir araç çağrısını zorunlu kılabilirsiniz:
tools = [{'type': 'function', 'function': {
'name': 'submit_person',
'parameters': {
'type': 'object',
'properties': {'name': {'type': 'string'}, 'age': {'type': 'integer'}},
'required': ['name', 'age']
}
}}]
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=...,
tools=tools,
tool_choice={'type': 'function', 'function': {'name': 'submit_person'}}
)
args = json.loads(response.choices[0].message.tool_calls[0].function.arguments)Çıktı Olarak Anthropic Araç Kullanımı
Anthropic, tool_choice="tool" ile aynı kalıbı kullanır:
tool_choice = {'type': 'tool', 'name': 'submit_person'}
print(tool_choice)
Önceden Doldurma ile JSON (Anthropic)
Araçlar olmadan Claude kullanırken asistan turunu { ile önceden doldurun:
messages = [
{'role': 'user', 'content': 'Give me JSON for Alice, 30.'},
{'role': 'assistant', 'content': '{'}
]
# Output starts with { and likely produces valid JSON.
for m in messages:
print(f"{m['role']}: {m['content']}")
print("Output starts with { and likely produces valid JSON.")
Pydantic + Katı Mod
OpenAI Python SDK, Pydantic için bir kısayol sunar:
from pydantic import BaseModel
class Person(BaseModel):
name: str
age: int
response = client.beta.chat.completions.parse(
model='gpt-4o-2024-08-06',
messages=...,
response_format=Person
)
person = response.choices[0].message.parsed
# Pydantic instance, type-safeYaygın Tuzaklar
- Katı olmayan JSON modu — model yanlış biçimde yanıt verebilir
- Katı modda
additionalProperties: falsebelirtmeyi unutmak - Zorunlu alanların "required" dizisinde listelenmemesi
- Katı mod yalnızca gpt-4o-2024-08-06+ sürümünde kullanılabilir
Yapılandırılmış Çıktıların Maliyeti
Katı mod, dil bilgisi kısıtlı kod çözümlemeden kaynaklanan küçük bir ek yüke sahiptir; bu yük, kalite kazanımına kıyasla ihmal edilebilir düzeydedir. Biçimin önemli olduğu her durumda katı modu kullanın.
Doğrulamayla Birleştirme
Katı çıktılar bile daha sonra Pydantic tarafından doğrulanmalıdır. Derinlemesine savunma yaklaşımı, aralık dışındaki tamsayılar gibi uç durumları da yakalar.
Katı Mod Garantisi
OpenAI Yapılandırılmış Çıktılar (katı mod) neyi garanti eder?
Özet
İzin verici yapı için JSON modu, garanti edilmiş biçimler için Katı Çıktılar, aynı etki için araç çağrıları, Claude için Anthropic önceden doldurma özelliği. Sonrasında her zaman doğrulama yapın.
Sıkça Sorulan Sorular
“JSON Kipi ve Araç Çağrısı Çıktıları” dersi ücretsiz mi?
Evet — “JSON Kipi ve Araç Çağrısı Çıktıları” 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.
“JSON Kipi ve Araç Çağrısı Çıktıları” dersinde ne öğreneceğim?
Makine tarafından ayrıştırılabilir çıktıyı zorlamak için response_format={'type':'json_object'} veya tek bir araç çağrısı kullanı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 1. dersidir.
“JSON Kipi ve Araç Çağrısı Çıktıları” 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