DSPy

Model çağrılarını giriş–çıkış modülleri olarak tanımlayın; optimizasyonu ölçüte bağlayın.

kullanım
  • Kod
düzeyler
basit · orta · ileri
bağlar
3 yakın yöntem
lisans
CC BY 4.0 · Kartın açık kaynağını incele

Nedir?

DSPy, dil modeli programlarını modüller ve veri akışlarıyla yazmak için bir çerçevedir. Hangi girdiden hangi çıktının üretileceğini tanımlarsınız; modülleri birleştirirsiniz. Seçilen optimizer, eğitim/geliştirme örnekleri ve ölçütle prompt veya gösterimleri düzenleyebilir.

DSPy tek bir prompt veya tek bir optimizer değildir. Bir imza yazmak sistemi optimize etmez; model bağlantısı, gerçek modül çağrıları, veri ve değerlendirme gerekir. Aşağıdaki taslaklar sürüme bağlı API kodu yerine uygulanacak modül sözleşmeleridir.

Ne zaman işe yarar?

Aynı bileşenleri farklı işlerde birleştirmek veya ölçülebilir bir model akışı kurmak istediğinizde kullanın. Python ortamı ve kurulu, sürümü bilinen DSPy gerekir; kart bunları kurmaz.

Örnekler

Aşağıdaki durumlar ve yanıtlar kurgusal öğretim örnekleridir; çalıştırılmış model, araç veya benchmark sonuçları değildir.

Basit (Simple)

Durum

Tek bir sınıflandırıcı modülü tanımlanacak.

Prompt

Prompt

Geliştirici DSPy programında şu imzayı kurar: ileti:string → etiket:string.
Modül talimatı: “Yalnız erisim/fatura/belirsiz; açık konu yoksa belirsiz.”
Tam girdi: “Giremiyorum”. Beklenen etiket: erisim.
Program, yapılandırılmış model bağdaştırıcısıyla modülü bir kez çağırır. Çıktı izinli etiket kümesinde mi ve beklenenle eşleşiyor mu kontrol eder. Bu adımda optimizer yok.
API hatasında sonuç üretme; çıktı sözleşmesini geçmeden kaydetme.

Örnek çıktı

Temsili modül sonucu: etiket=erisim. Bu yalnız programın çalıştıracağı örnek girdidir.

Ne elde ettik?

İmza, görev ve kontrol ölçütü belli. Tek modül çağrısı henüz derleme/optimizasyon sayılmaz.

Orta (Medium)

Durum

Bulma ve cevaplama iki modül olarak bağlanacak.

Prompt

Prompt

Depo: K1 “Salon A 16 kişilik”; K2 “Salon B 30 kişilik”. Soru: Salon A kaç kişilik?
DSPy uygulaması: retrieve(soru) → pasajlar; answer(soru,pasajlar) → cevap,kaynak_kodlari.
Gerçek arama bileşeni K1/K2 üzerinde çalışır. Cevap modülü yalnız getirilen pasajı kullanır. İmzalarla birlikte “pasaj yoksa cevap yok” kuralı uygulanır.
Koordinatör arama sonucu ile cevap alanlarının bağını denetler. Bir arama, bir cevap çağrısı; eksik kayıtta dur.

Örnek çıktı

Temsili akış: retrieve → K1; answer → “16 kişi”, [K1].

Ne elde ettik?

Modüller arasındaki veri sözleşmesi açık. Programın kurulması ve çalıştırılması ayrı mühendislik adımıdır.

İleri (Hard)

Durum

Aynı program için örnek seçimi optimize edilecek.

Prompt

Prompt

Program: ileti → etiket. Geliştirme: “Giremiyorum”→erisim; “Fatura yok”→fatura; “Selam”→belirsiz.
Geliştirici kurulu DSPy sürümündeki örnek destekli optimizer’ı seçer; metric=exact-match, en fazla 12 hedef çağrısı ayarlar. Optimizatör aday gösterimleri üretip gerçek modül çıktılarıyla değerlendirir.
Son programı dondur. Ayrı kontrol “Hesap açılmıyor”→erisim; bu örneği optimizer’a verme.
Derlenen programın talimat/gösterimlerini ve kontrol sonucunu kaydet. Bütçede geçerli aday yoksa başlangıç programını otomatik başarılı sayma.

Örnek çıktı

Temsili teslim: dondurulmuş imza, seçilen gösterimler, ölçüm kayıtları. Ayrı kontrolün çıktısı çalıştırmadan bilinmez.

Ne elde ettik?

Çerçeve kullanımıyla gerçek optimize edilmiş program birbirinden ayrıldı. Metrik ve veri olmadan başarı iddiası kalmadı.

Nerede durmalı?

Kurulu sürümün API’si ve optimizer davranışı özgün makaleyle birebir aynı olmayabilir. Değerlendirme ölçütünü yanlış seçerseniz düzgün derlenmiş bir program yanlış işi daha tutarlı yapabilir. APE, OPRO ve GEPA belirli arama yaklaşımlarıdır; DSPy bunlarla aynı tek yöntem değildir.

Kaynaklar

Yan yana duran üç koyu modüler çerçevede farklı beyaz kıvrımlı yapılar, sağdaki küçük ayrı örnekle karşılaşıyor.
Görselin üretim bilgisi

Google Gemini ile üretilen özgün illüstrasyon · 1024 × 572

Generate an image: Create an original museum-grade computational sculpture photographed as a physically present installation, horizontal 16:9. Deep anthracite void, mineral porcelain whites, restrained ice-blue and amber accents, fine particles only where structurally meaningful, tactile surfaces, subtle volumetric illumination, believable depth, exceptional edge detail and intentional negative space. Three modular graphite frames with differently shaped input and output sockets hold replaceable porcelain inserts; a detached insert beside the system shows that one module can change without rebuilding the whole. Precise architectural photography, no wires shaped as letters. Keep the image sophisticated and legible at mobile size: one dominant mechanism, a clear silhouette, no decorative overload. No text, letters, numbers, typography, captions, symbols, watermark, logo, fake chart, screenshot, interface, identifiable people or artist signature. Do not imitate any specific existing artwork.

Promptları kendi durumunuza göre düzenleyin. Bir araç veya ayrı çağrı gerektiren örnekte, yalnız metni kopyalamak o çalışma düzenini kurmaz.