Modell / Datensatz
microsoft/promptflow avatar
microsoft/promptflow

Prompt flow: DAGs, YAML und eine CLI für LLM-Anwendungen

Build high-quality LLM apps - from prototyping, testing to production deployment and monitoring.

11.241 Sterne1.122 ForksPythonMIT

Auf einen Blick

Was ist das?
Microsofts Prompt flow verbindet Prompts, Python-Code und Tools zu ausführbaren Flows und liefert eine CLI für Tests, Verbindungen und Evaluierung. Eine Einordnung für Teams, die ihre Prompt-Logik versionieren und nicht in Notizbüchern verlieren wollen.
Für wen ist es gedacht?
Wer Prompts, Python-Knoten und Evaluierungsdatensätze als versionierte Dateien im Repository halten will, findet in Prompt flow ein passendes Werkzeug. Wer nur einen einzelnen API-Aufruf in eine bestehende Anwendung einbettet, braucht es nicht.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 20 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich Python, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Welches Problem die YAML-Datei löst

Ein Prompt, der in einer Python-Funktion als String-Literal steht, lässt sich schwer testen und noch schwerer vergleichen. Prompt flow zieht diese Logik in eine deklarative Beschreibung: die Datei flow.dag.yaml, die laut README Eingaben, Ausgaben, Knoten, Verbindungen und das LLM-Modell festhält. Ein Knoten kann ein LLM-Aufruf, ein Prompt oder Python-Code sein. Die Zielgruppe sind Entwicklerteams, die mehrere Varianten eines Prompts gegen einen Datensatz laufen lassen und das Ergebnis reproduzierbar machen wollen. Wer nur einmalig einen Chat-Aufruf in ein Backend einbaut, gewinnt durch diese Struktur wenig.

Der Flow als gerichteter Graph

Das Datenmodell ist ein DAG. Die Konzepte Flows und Tools sind in der Dokumentation als eigene Seiten verlinkt, und die README beschreibt einen Flow als Verkettung von LLMs, Prompts, Python-Code und weiteren Tools. Die Verbindung zwischen Knoten und externen Diensten läuft über benannte Connections. Im generierten Chat-Beispiel ist im chat-Knoten eine Connection namens open_ai_connection im Feld connection hinterlegt, das Modell steht im Feld deployment_name, im Beispiel gpt-35-turbo. Dieses Feld dient laut README sowohl der Angabe eines OpenAI-Modells als auch eines Azure-OpenAI-Deployments. Der Name der Connection ist damit die Nahtstelle zwischen Flow-Definition und Zugangsdaten: derselbe Flow lässt sich gegen verschiedene Endpunkte fahren, solange die Connection gleich heißt. Was die README nicht ausführt, ist das Verhalten bei Teilfehlern innerhalb eines Knotens. Wer Fehlerbehandlung braucht, sollte das vor der Adoption in der Dokumentation prüfen.

Installation und die ersten drei Befehle

Empfohlen ist eine Python-Umgebung mit python>=3.9 und <=3.11. Die Installation erfolgt über pip install promptflow promptflow-tools. Danach erzeugt pf flow init --flow ./my_chatbot --type chat einen Ordner my_chatbot mit den nötigen Dateien, darunter flow.dag.yaml sowie Vorlagen für Connections. Für einen OpenAI-Schlüssel lautet der Befehl pf connection create --file ./my_chatbot/openai.yaml --set api_key=<your_api_key> --name open_ai_connection. Für Azure OpenAI kommt azure_openai.yaml zum Einsatz, mit zusätzlichem api_base: pf connection create --file ./my_chatbot/azure_openai.yaml --set api_key=<your_api_key> api_base=<your_api_base> --name open_ai_connection. Die README weist darauf hin, dass sich Schlüssel und Name über --set überschreiben lassen, damit die YAML-Datei unverändert bleibt. Interaktiv testen lässt sich der Flow mit pf flow test --flow ./my_chatbot --interactive, beendet wird die Sitzung mit Ctrl + C. Für Nutzer ohne lokale Umgebung verweist die README auf GitHub Codespaces.

Evaluierung als Teil der Pipeline

Der zweite Schwerpunkt neben dem Bauen ist das Messen. Die README nennt die Evaluierung größerer Datensätze und die Integration von Test und Evaluierung in ein CI/CD-System, um die Qualität eines Flows abzusichern. Das ist der Punkt, an dem sich Prompt flow von einer reinen Prompt-Bibliothek unterscheidet: Der Flow ist ein Artefakt, das in einer Pipeline laufen kann. Ein 15-minütiges Tutorial im Repository führt laut README durch Prompt-Tuning, Batch-Test und Evaluierung. Ein zweites Beispiel, Chat with PDF, zeigt eine Ende-zu-Ende-Anwendung inklusive Flow-Entwicklung und Evaluierung mit Metriken. Beide Beispiele liegen im Repository unter examples/tutorials. Wer wissen will, welche Metriken konkret verfügbar sind, findet die Antwort nicht in der README, sondern muss die Tutorials und die Dokumentation öffnen.

Wo Prompt flow die falsche Wahl ist

Die Struktur erzwingt eine Datei pro Flow und eine Connection pro Zugangsdatum. Für ein Skript, das einen einzelnen Prompt an eine API schickt und die Antwort weiterreicht, ist das mehr Verwaltung als Nutzen. Auch die Python-Version ist eine echte Einschränkung: Die README empfiehlt python>=3.9 und <=3.11. Wer bereits auf einer neueren Version aufsetzt, muss klären, ob das Paket dort läuft, bevor er Zeit in Flows investiert. Ein weiterer Punkt betrifft die Cloud: Die README bezeichnet die Zusammenarbeit über die Cloud-Version Prompt flow in Azure AI als optional, aber ausdrücklich empfohlen. Teams, die keine Azure-Abhängigkeit wollen, nutzen nur die lokalen Pakete, verlieren dann aber den Teil, den die README als Kollaborationsweg beschreibt. Und der Debugging-Komfort hängt am Werkzeug: Die README verlinkt Tracing als eigenen Leitfaden, ohne in der Kurzfassung zu zeigen, wie ein Trace aussieht.

Der Unterschied zu LangChain

LangChain ist die naheliegende Alternative, und der Unterschied liegt im Ansatz, nicht im Funktionsumfang. LangChain ist eine Python-Bibliothek: Eine Kette entsteht im Code, und die Definition ist Programm. Prompt flow beschreibt den Flow in flow.dag.yaml und führt ihn über die CLI pf aus. Das verschiebt die Definition aus dem Code in eine Datei, die sich in einem Pull Request lesen und kommentieren lässt, und macht den Flow über pf flow test auch ohne Python-Einstiegspunkt startbar. Der Preis ist Bindung an das Format und an die CLI. Wer seine Logik lieber in normalen Python-Modulen hält und keine zusätzliche Abstraktion über dem SDK will, ist mit LangChain oder direkt mit einem SDK besser bedient. Umgekehrt gilt: Wer Evaluierung und Batch-Läufe gegen Datensätze als wiederholbaren Schritt in der Pipeline braucht, findet bei Prompt flow die fertige Struktur dafür.

Pflege, Versionen und Lizenz

Das Repository ist nicht archiviert, der letzte Push liegt laut Metadaten im August 2026. Die jüngsten Releases sind promptflow 1.17.1 vom 9. Januar 2025, 1.17.0 vom 6. Januar 2025 und 1.16.2 vom 25. November 2024. Zwischen den Minor-Versionen 1.16 und 1.17 liegen rund sechs Wochen, das ist ein ruhiger, aber nicht eingefrorener Rhythmus. Wer Prompt flow produktiv einsetzt, sollte die Pakete promptflow und promptflow-tools gemeinsam pinnen, weil der Flow auf Tools verweisen kann, die im zweiten Paket liegen. Die Lizenz ist MIT, angegeben im Repository. Das ist eine permissive Lizenz, die kommerzielle Nutzung und Änderungen erlaubt, solange der Copyright-Hinweis erhalten bleibt. Wer den Code weiterverteilt, sollte die genauen Pflichten der MIT-Lizenz selbst prüfen; eine Rechtsberatung ersetzt dieser Hinweis nicht. Ein Kostenpunkt, der leicht übersehen wird: Jeder Batch-Lauf und jede Evaluierung erzeugt Aufrufe beim Modellanbieter, und die Abrechnung hängt an der Connection, nicht am Flow.

Redaktionelles Fazit

Wer Prompts, Python-Knoten und Evaluierungsdatensätze als versionierte Dateien im Repository halten will, findet in Prompt flow ein passendes Werkzeug. Wer nur einen einzelnen API-Aufruf in eine bestehende Anwendung einbettet, braucht es nicht. Vor dem Einstieg prüfen: ob das Projekt auf python>=3.9 und <=3.11 läuft, welche Version der Pakete promptflow und promptflow-tools installiert wird, und ob die im Flow referenzierte Verbindung wie open_ai_connection tatsächlich existiert. Der erste Test ist pf flow test --flow ./my_chatbot --interactive.

Offizielle Quellen

  1. License: MIT
  2. microsoft/promptflow on GitHub
  3. Project website
  4. README
  5. Releases
Community-Notizen

Community-Notizen