Garantili Yapı için Instructor ve Outlines
Instructor (Python) ve Outlines, modelin geçersiz JSON üretmesini kelimenin tam anlamıyla engelleyecek şekilde kod çözmeyi kısıtlar.
Garantili Yapı için Instructor ve Outlines, CoddyKit'te ücretsiz bir AI Agents dersidir. Bu, 4 dersinin 4. 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.
İki Önemli Kütüphane
Garanti edilmiş yapılandırılmış çıktılar için iki öncü yaklaşım:
- Instructor (Jason Liu) — OpenAI, Anthropic ve birçok sağlayıcı için Pydantic sarmalayıcısı
- Outlines (.txt) — OSS modelleri için kısıtlı kod çözümleme
Instructor Basics
# pip install instructor openai
import instructor
from openai import OpenAI
from pydantic import BaseModel
client = instructor.from_openai(OpenAI())
class User(BaseModel):
name: str
age: int
user = client.chat.completions.create(
model='gpt-4o-mini',
response_model=User,
messages=[{'role': 'user', 'content': 'Alice, 30'}]
)
print(user.name, user.age)Instructor Sihri
Arka planda Instructor şunları yapar:
- Pydantic modelinizden bir JSON Şeması oluşturur
- Şemayı OpenAI çağrısına bir araç olarak ekler
- Bu aracın çağrılmasını zorunlu kılar
- Bağımsız değişkenleri ayrıştırır ve bir Pydantic örneği döndürür
- Doğrulama hatalarında onarımla yeniden dener
Instructor with Validation
from pydantic import field_validator
class User(BaseModel):
name: str
age: int
@field_validator('age')
@classmethod
def positive(cls, v):
if v <= 0:
raise ValueError('Age must be positive')
return v
# Instructor catches ValidationError and retries automaticallyStreaming Instructor
for partial in client.chat.completions.create_partial(
model='gpt-4o-mini',
response_model=User,
messages=[{'role': 'user', 'content': 'Alice, 30'}]
):
print(partial)
# Streams partial Pydantic instances as fields fill in.Instructor with Anthropic
from anthropic import Anthropic
client = instructor.from_anthropic(Anthropic())
user = client.messages.create(
model='claude-sonnet-4-5',
max_tokens=1024,
response_model=User,
messages=[{'role': 'user', 'content': 'Alice, 30'}]
)OSS Modelleri için Outlines
Outlines, dil bilgisi kısıtlı kod çözümleme kullanır. HuggingFace, vLLM ve llama.cpp ile çalışır:
# pip install outlines
import outlines
model = outlines.models.transformers('mistralai/Mistral-7B-Instruct-v0.2')
generator = outlines.generate.json(model, User)
user = generator('Alice, 30')Kısıtlı Kod Çözümleme Neden Kullanılır?
Outlines, şemaya göre her adımda hangi belirteçlerin yasal olduğunu görür ve yasal olmayan belirteçleri maskeler. Model, kelimenin tam anlamıyla geçersiz JSON üretemez.
Outlines Düzenli İfade / Choice
Bir düzenli ifadeyle veya seçenekler listesiyle kısıtlama yapabilirsiniz:
import outlines.text.generate as g
yes_no = g.choice(model, ['yes', 'no'])
result = yes_no('Are bananas fruits?') # 'yes'İkisini Birleştirme
En yüksek güvenilirlik için:
- Yönetilen veya kapalı modellerde (OpenAI, Anthropic) Instructor kullanın
- Kendi sunucunuzda barındırdığınız modellerde Outlines kullanın
- Pydantic modelleri her iki yaklaşımda da ortaktır
Maliyet Karşılaştırması
- Katı Çıktılar (yerel OpenAI) — ücrete dahildir
- Instructor — doğrulama sırasında yapılan yeniden denemelerden kaynaklanan küçük ek yük
- Outlines — maskeleme nedeniyle aktarım hızında hafif düşüş olur, ancak ek çağrı yapılmaz
Hangisi Ne Zaman Kullanılmalı
| Kullanım Alanı | Araç |
|---|---|
| OpenAI/Anthropic | Instructor + Pydantic |
| Kendi sunucunuzda barındırılan OSS | Outlines |
| Gecikmeye duyarlı | OpenAI Yapılandırılmış Çıktılar (yerel) |
Outlines Yaklaşımı
Outlines yapılandırılmış çıktıyı nasıl garanti eder?
Özet
OpenAI/Anthropic için yerel Yapılandırılmış Çıktıları veya Instructor'ı kullanın. OSS için Outlines kullanın. Pydantic modelleri her şeyi birbirine bağlar.
Sıkça Sorulan Sorular
“Garantili Yapı için Instructor ve Outlines” dersi ücretsiz mi?
Evet — “Garantili Yapı için Instructor ve Outlines” 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.
“Garantili Yapı için Instructor ve Outlines” dersinde ne öğreneceğim?
Instructor (Python) ve Outlines, modelin geçersiz JSON üretmesini kelimenin tam anlamıyla engelleyecek şekilde kod çözmeyi kısıtlar. 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 4. dersidir.
“Garantili Yapı için Instructor ve Outlines” 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