DAllgemein

DSPy

Framework zur Optimierung von Prompts/Programmen mit Evals

DSPy ist ein Framework, mit dem du LLM-Anwendungen als „Programme“ baust und deren Prompts/Module systematisch mit Evals und Optimierern verbesserst. Statt Prompt-Text manuell zu tweaken, definierst du Ziele (z. B. Genauigkeit, Format, Quellen) und lässt DSPy automatisch die besten Anweisungen, Beispiele und Parameter für dein Setup finden.

Was bedeutet DSPy?

DSPy steht für ein programmatisches Vorgehen beim Arbeiten mit Large Language Model (LLM). Du beschreibst, was ein Modul liefern soll (z. B. „gib eine JSON-Antwort mit Feldern X/Y“), und DSPy kümmert sich darum, die dafür nötigen Prompts, Few-Shots und Strategien datengetrieben zu optimieren – basierend auf einem Evaluations-Set.

Wie funktioniert DSPy? (vereinfacht in 5 Schritten)

  • 1) Aufgabe als Module modellieren: Du zerlegst die LLM-Pipeline in Bausteine (z. B. „Frage beantworten“, „Quellen auswählen“, „Antwort formatieren“).
  • 2) Signaturen definieren: Du legst Inputs/Outputs fest (z. B. Frage → Antwort + Begründung + Quellen) und ggf. Constraints wie Structured Outputs (JSON Schema).
  • 3) Trainings-/Eval-Daten bereitstellen: Ein kleines „Golden Set“ (siehe Golden Dataset (Goldstandard-Datensatz)) mit erwarteten Ergebnissen oder Prüfkriterien.
  • 4) Metriken/Evals festlegen: Zum Beispiel exakte Übereinstimmung, Regex/Schema-Validierung (siehe Schema Validation (JSON-Schema-Validierung)) oder LLM-gestützte Bewertung (siehe Evaluation (Eval) & Benchmarking).
  • 5) Optimieren & testen: Ein Optimizer sucht bessere Prompt-Varianten/Few-Shots/Parameter, prüft sie gegen die Evals und wählt die robusteste Konfiguration (inkl. Regression Checks, siehe Regression Testing für Prompts/Agents).

Wofür braucht man DSPy? (typische Use Cases)

Warum ist DSPy wichtig?

LLM-Apps scheitern in der Praxis oft nicht am Modell, sondern an inkonsistenten Prompts, fehlenden Tests und schwer reproduzierbaren Änderungen. DSPy bringt hier eine „Engineering“-Schicht: Versionierbare Programme, messbare Qualitätsziele, automatisierte Optimierung und bessere Wartbarkeit – ähnlich wie man es aus MLOps kennt (siehe MLOps), nur für Prompt-/LLM-Logik.

Beispiel (kurz)

Du baust einen Support-Bot: Er soll Antworten immer als JSON mit Feldern answer, confidence, sources liefern. Mit DSPy definierst du diese Signatur, gibst 50–200 Beispielanfragen als Eval-Set und misst Schema-Validität + inhaltliche Korrektheit. DSPy optimiert daraufhin automatisch Prompt-Varianten und Few-Shot-Beispiele, bis die Erfolgsrate steigt.

Was kostet DSPy?

DSPy selbst ist typischerweise Open Source – Kosten entstehen vor allem durch Inferenz (API- oder GPU-Kosten) während Optimierung und Evals. Einflussfaktoren sind Datensatzgröße, Anzahl Optimizer-Trials, Modellwahl und gewünschte Metriken (siehe Cost Optimization (Token-Kostenoptimierung)).