DSPy ist ein Framework zur systematischen und algorithmischen Optimierung von Eingabeaufforderungen und Gewichtungen großer Sprachmodelle. Dank DSPy lassen sich große Grundlagenmodelle in KI-Anwendungspipelines integrieren. Anstatt Modelle mit traditionellem Prompting anzusteuern, werden sie quasi programmiert.
DSPy ist ein Framework zur systematischen und algorithmischen Optimierung der Eingabeaufforderungen und der Gewichtungen von KI-Grundlagenmodellen wie großen Sprachmodellen oder Retrieval-Modellen. Das Kürzel DSPy steht für „Declarative Self-improving Language Programs, pythonically“. Die Entwickler haben das Framework selbst mit dem Untertitel „The framework for programming-not prompting-foundation models“ versehen. Das Framework ist für die Entwicklung von KI-Systemen beziehungsweise Anwendungspipelines gedacht, in denen Sprachmodelle wiederholt zum Einsatz kommen sollen.
Entwickelt wurde das Framework von Stanford NLP. DSPy eröffnet neue Möglichkeiten in der programmierzentrischen Einbindung von großen Sprachmodellen. Traditionelle Prompting-Techniken werden durch einen auf einer strukturierten Programmierung basierenden Ansatz ersetzt. Das Framework stellt Techniken und Methoden für ein systematisches Prompting und Finetuning von Modellen in Python-Syntax bereit. Anstatt Sprachmodelle direkt über Prompting anzusteuern, werden sie quasi programmiert.
Das Framework unterstützt verschiedene LM- und RM-APIs. Auch lokal gehostete Modelle lassen sich integrieren. So ist DSPy beispielsweise mit den Sprachmodellen GPT-3, GPT-4, T5 und Llama 2 nutzbar. Das Framework integriert die Modelle in eigene KI-Systeme und optimiert die Qualität und Genauigkeit der Ausgaben. DSPy ist unter MIT-Lizenz frei verfügbar und kann über GitHub heruntergeladen werden.
Motivation für die Entwicklung von DSPy
Die Einbindung von KI-Grundlagenmodellen wie LLMs in eigene KI-Systeme und KI-Programme ist ein aufwendiger und mühsamer Prozess. Die Problem- oder Aufgabenstellungen müssen zunächst in einzelne Schritte zerlegt werden. Anschließend sind für jeden Schritt geeignete Eingabeaufforderungen zu erstellen. Die einzelnen Schritte müssen optimal zusammenarbeiten und benötigen passende Beispiele, um die Modelle und ihre Gewichtungen feinabzustimmen. Jedes Mal, wenn sich Daten, Modelle oder Pipelines ändern, benötigen die Eingabeaufforderungen der einzelnen Schritte entsprechende manuelle Anpassungen und Überarbeitungen. Das erfordert viel Zeit und ist fehleranfällig.
DSPy versucht dieses Problem durch einen Programmieransatz zu lösen. Er gestattet es, Eingabeaufforderungen und Gewichtungen systematisch und algorithmisch zu optimieren und komplette Pipelines dynamisch zu rekompilieren. Optimierungsprozesse können automatisiert werden und die Ausgaben der Modelle werden ohne manuelle Prompt-Anpassungen verbessert. So können robuste und zuverlässige KI-Systeme entstehen.
Die Komponenten des DSPy-Programmiermodells
DSPy basiert auf einem strukturierten, programmierzentrischen Ansatz. Das Programmiermodell besteht aus drei grundlegenden Komponenten. Diese drei Komponenten sind:
Signatures
Modules
Optimizers (auch als Teleprompters bezeichnet)
Aufgabe der Signatures ist es, das Prompting und Finetuning der Modelle zu abstrahieren. Die Signatures spezifizieren das erwartete Input- und Output-Verhalten der Module. Sie beschreiben, was über die Texttransformation eines Modells erreicht werden soll: zum Beispiel die Eingabe einer Frage und der Erhalt einer Antwort.
Die Module sorgen für die Abstrahierung der Prompting-Strategien und -Techniken. Sie dienen dazu, die Signaturen durch die Anwendung von Aufforderungs-, Feinabstimmungs-, Erweiterungs- und Argumentationsmethoden für die jeweilige Aufgabe anzupassen. Ein Beispiel hierfür ist das Chain-of-Thought-Modul, das die Prompting-Technik der Gedankenkette (Chain-of-Thought) abstrahiert und anwendet. Die Module lassen sich einzeln verwenden, aber auch miteinander kombinieren. Dadurch wird die Realisierung komplexer Pipelines oder Programme möglich, die mithilfe der Sprachmodelle spezifische Problemstellungen lösen.
Aufgabe der Optimierer ist es, die Module einer Pipeline zu optimieren, um eine vorgegebene Metrik zu maximieren. Das DSPy-Framework stellt eine ganze Reihe von Optimierern zur Verfügung. Jeder Optimierer benötigt drei Komponenten: das DSPy-Programm, bestehend aus einem oder mehreren miteinander kombinierten Modulen, die zu maximierende Metrik (eine Funktion, die der Programmausgabe einen Score zuweist) und einen Satz von Trainingsbeispielen. Die Optimierer maximieren die Metrik eines Programms, indem sie die Eingabeaufforderungen und die Gewichtungen der Modelle aktualisieren. So lassen sich hochwertige Ergebnisse erzielen und domänenspezifische Anforderungen einhalten.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Beispielhafter Workflow für die Anwendung des DSPy-Frameworks
Ein beispielhafter Workflow für die Anwendung des DSPy-Frameworks für eine spezifische Aufgabenstellung könnte folgendermaßen aussehen:
1. Definition der Aufgabenstellung
2. Definition der zu optimierenden Metrik
3. Vorbereitung von Ein- und Ausgabebeispielen (zum Beispiel Frage-/Antwortpaare)
4. Erstellen des Programms mit den entsprechenden Modulen, Signatures und der Pipeline-Logik
5. Anwendung der DSPy-Optimierer und Kompilierung des Programms
6. Iterative Verfeinerung des Programms, der Daten und der Validationslogik
Vorteile durch DSPy
Die Verwendung des DSPy-Frameworks bringt einige Vorteile mit sich. Es lassen sich robuste und zuverlässige KI-Systeme und KI-Anwendungen erstellen, mit denen sich auch komplexe und schwierige Aufgabenstellungen lösen lassen. DSPy verbessert die Qualität und Genauigkeit der Ausgaben der verwendeten Grundlagenmodelle. Eingabeaufforderungen müssen nicht mehr manuell erstellt oder angepasst werden, sondern lassen sich dank des systematischen und algorithmischen Ansatzes programmieren und automatisiert optimieren. In die KI-Systeme können verschiedene sowohl lokal betriebene als auch gehostete LLMs mit wenig Aufwand integriert werden. Die benötigten APIs stehen zur Verfügung.