Çıktı Biçimlendirme (JSON, XML, Markdown)
Çıktıların makineler tarafından okunabilmesi için JSON kipini, XML etiketlerini veya katı Markdown'ı kullanarak modeli ayrıştırılabilir yapılar döndürmeye zorlayın.
Çıktı Biçimlendirme (JSON, XML, Markdown), CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 3. 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.
Biçim Neden Önemlidir
Ajanlar model çıktısını koda aktarır. Serbest biçimli düzyazı ayrıştırıcıları bozar. Yapılandırılmış çıktı (JSON, XML vb.), üretimdeki her ajan için zorunludur.
JSON Kipi
OpenAI ve çoğu sağlayıcı, ayrıştırılabilir çıktıyı garanti eden bir JSON kipi sunar:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
response_format={'type': 'json_object'},
)
import json
data = json.loads(response.choices[0].message.content)Yapılandırılmış Çıktılar (Kesin Şema)
OpenAI Yapılandırılmış Çıktıları bir JSON Şeması alır ve çıktının bu şemaya uymasını garanti eder:
schema = {
'name': 'extract_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=messages,
response_format={'type': 'json_schema', 'json_schema': schema}
)XML Etiketleri (Anthropic Tarzı)
Anthropic, Claude için en güvenilir biçimlendirme yöntemi olarak XML etiketlerini önerir:
system = '''
Return your answer wrapped in XML tags:
<reasoning>Your step-by-step thinking</reasoning>
<answer>The final answer</answer>
'''
# Parse with a simple regex or BeautifulSoup
import re
ans = re.search(r'<answer>(.*?)</answer>', text, re.S).group(1)İnsanlar İçin Markdown
Çıktı doğrudan bir insana gidiyorsa Markdown kullanın (sohbet arayüzü, belgeler).
Koda aktarırken Markdown kullanmaktan kaçının — Markdown'ı sağlam biçimde ayrıştırmak zordur.
Her Tüketici İçin Doğru Biçimi Seçin
- JSON — kodunuza gidecekse
- XML — kodunuza gidecekse, özellikle Claude için
- Markdown — insanlara yönelik bir arayüze gidecekse
- Düz metin — başka bir LLM'ye gidecekse
Yalnızca Anlatmayın, Gösterin
İstediğiniz çıktının gerçek bir örneğini her zaman isteminize ekleyin:
system = '''
Return a JSON object like:
{
"action": "reply",
"content": "Hi there!",
"confidence": 0.95
}
'''
print(system.strip())
İlk Belirteci Zorlayın
Anthropic'te JSON çıktısını zorlamak için asistan turunu { veya [ ile önceden doldurun:
messages = [
{'role': 'user', 'content': 'Return JSON with name and age.'},
{'role': 'assistant', 'content': '{'}
]
# Output will start at '{ "name": ...' guaranteed.
for m in messages:
print(f"{m['role']}: {m['content']}")
print('Output will start at \'{ "name": ...\' guaranteed.')
Sondaki Gereksiz İçeriği Ele Alın
JSON kipi kullanılsa bile modeller bazen "Elbette! İşte JSON:" ön ekini ekler. Sağlam ayrıştırıcılar:
- İlk
{veya[karakterini bulur - Eşleşen kapanış parantezini bulmak için parantezleri sayar
- Yalnızca bu kesiti ayrıştırır
Onarım İstemleri
Ayrıştırma başarısız olursa bozuk çıktıyı modele geri gönderin ve düzeltmesini isteyin:
repair_prompt = f'''
The previous output failed to parse with error: {error}.
Return ONLY a valid JSON object matching the schema. No prose.
Previous output:
{bad_output}
'''Doğrulama için Pydantic
Ayrıştırılan sözlüğü bir Pydantic modeliyle doğrulayın — alanların türlerini denetleyin, eksik alanlarda hata yükseltin.
from pydantic import BaseModel
class Person(BaseModel):
name: str
age: int
person = Person.model_validate_json(response_text)
print(person.name, person.age)Kod İçin En İyi Biçim
Çıktıyı Python'a aktarıyorsunuz. En güvenilir biçim hangisidir?
Özet
Üç kural:
- Tüketiciyle eşleşen bir biçim seçin
- Bir örnek gösterin, yalnızca açıklamayın
- Her yanıtı doğrulayın ve bir onarım yolu bulundurun
Sıkça Sorulan Sorular
“Çıktı Biçimlendirme (JSON, XML, Markdown)” dersi ücretsiz mi?
Evet — “Çıktı Biçimlendirme (JSON, XML, Markdown)” 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.
“Çıktı Biçimlendirme (JSON, XML, Markdown)” dersinde ne öğreneceğim?
Çıktıların makineler tarafından okunabilmesi için JSON kipini, XML etiketlerini veya katı Markdown'ı kullanarak modeli ayrıştırılabilir yapılar döndürmeye zorlayı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 3. dersidir.
“Çıktı Biçimlendirme (JSON, XML, Markdown)” 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
- Sıfır Örnekli, Az Örnekli ve Düşünce Zinciri
- Sistem ve Kullanıcı ve Asistan Rolleri
- Çıktı Biçimlendirme (JSON, XML, Markdown)
- Girdilerde İstem Enjeksiyonundan Kaçınma