LLM·3 dk okuma·

Elle Prompt Ayarlamayı Bırakın: DSPy ile Bir LLM Programı Geliştirin ve Optimize Edin

Paylaş
Elle Prompt Ayarlamayı Bırakın: DSPy ile Bir LLM Programı Geliştirin ve Optimize Edin

Üretim ortamındaki her LLM özelliği eninde sonunda aynı duvara çarpar. Süreç, Python dosyasındaki basit bir prompt metniyle başlar; ardından bir sistem mesajı, üç örnek, markdown içine gömülen JSON çıktıları için formatlama yamaları ve # DOKUNMAYIN — 2026-08-14'te ayarlandı şeklinde bir yorum satırıyla kontrolden çıkar. Kimse bunu test edemez, versiyon farklarını (diff) izleyemez ve model sağlayıcısı bir güncelleme yayınladığında sistem sessizce bozulur.

Stanford NLP tarafından geliştirilen MIT lisanslı DSPy (v3.4.0), bu sorunu kökten çözer. DSPy ile serbest metinli prompt yazmayı bırakıp program yazmaya başlarsınız:

  • Tipli İmzalar (Signatures): Sisteme neyin girip neyin çıkacağını açıkça tanımlar.
  • Modüller (Modules): Akıl yürütme stratejilerini bir araya getirir.
  • Optimize Edici (Optimizer): Tıpkı bir derleyicinin kodu mimariye göre optimize etmesi gibi, tüm programı tanımladığınız bir metriğe göre derler. Böylece prompt, kaynak kod değil, bir derleme çıktısı (build artifact) haline gelir.

Bu rehberde, müşteri destek biletlerini aciliyet (urgency) ve ilgili ekibe (team) göre sınıflandıran bir önceliklendirme programı ele alınmaktadır. Sistem önce dspy.Evaluate ile ölçülmekte, ardından BootstrapFewShot ile derlenerek doğruluk oranı %55.6'dan %88.9'a çıkarılmaktadır. Üstelik tüm döngü (programla, ölç, derle) deterministik bir simülatör modeli üzerinde sıfır API harcamasıyla çevrimdışı çalıştırılabilmektedir.

Neye İhtiyacınız Olacak

  • Python 3.10+ ve pip: Donanım olarak standart bir CPU yeterlidir; GPU gereksinimi yoktur.
  • DSPy 3.4.0: Kurulum pip install dspy komutuyla yapılır ve python -c "import dspy; print(dspy.__version__)" komutuyla doğrulanır.
  • SandboxLM Simülatörü: Ana akış için herhangi bir API anahtarı gerekmez. DSPy'ın DummyLM sınıfını temel alan bu simülatör, prompt içindeki few-shot örneklerini okur; aksi halde gerçek bir sıfır-örnekli (zero-shot) taban çizgisi gibi zayıf bir anahtar kelime yaklaşımına döner.
  • İsteğe Bağlı Model Erişimi: Canlıya geçiş için OpenAI, Anthropic veya yerel bir Ollama sunucusu tek bir satırla simülatörün yerine geçirilebilir.

Adım 1: Kurulum ve Yapılandırma

İlk olarak kütüphane kurulur ve sürüm kontrolü yapılır:

  • pip install dspy
  • python -c "import dspy; print(dspy.__version__)"

Her DSPy programı, dspy.configure üzerinden hangi dil modelinin kullanılacağını belirterek başlar. Gerçek sağlayıcılar veya yerel modeller LiteLLM tarzı string ile tanımlanır:

  • OpenAI rotası: dspy.configure(lm=dspy.LM("openai/gpt-4o-mini"))
  • Yerel Ollama rotası: dspy.LM("ollama/llama3.1", api_base="http://localhost:11434")

Bu rehberde ise çevrimdışı geliştirme için sandbox_lm.py dosyası yapılandırılır. Bu dosya, dspy.utils.dummies modülündeki DummyLM sınıfını miras alır ve DSPy 3.4'ün çağırdığı _use_example kancasını (hook) geçersiz kılar. Girdiyle en çok kelime örtüşmesi olan few-shot örneğinin çıktısını kopyalar; örtüşme yoksa zayıf sezgisele geri döner.

Yazılım geliştiriciler için çıkarım: Prompt'ları kırılgan metin blokları yerine tip güvenli modüller ve derlenebilir yapılar olarak ele almak, LLM sistemlerini sürdürülebilir yazılım mühendisliği standartlarına kavuşturur.

Orijinal kaynağa buradan ulaşabilirsiniz.


Bu konuyu derinlemesine öğrenmek isterseniz: DSPy ile Programatik Prompt Optimizasyonu modülüne göz atın.

Paylaş

Bu konuyu daha derinlemesine öğrenmek ister misin?

Edumints'teki ücretsiz kursları incele ve bugün başla.

Kurslara Göz At →