Entwickeln Sie einen Prompt-Fluss (klassisch)

Gilt nur für:klassisches Foundry Portal. Dieser Artikel ist für das neue Foundry-Portal nicht verfügbar. Erfahren Sie mehr über das neue Portal.

Hinweis

Links in diesem Artikel können Inhalte in der neuen Microsoft Foundry-Dokumentation anstelle der jetzt angezeigten Foundry-Dokumentation (klassisch) öffnen.

Warnung

Die Entwicklung der Prompt Flow-Funktion endete am 20. April 2026. Das Feature wird am 20. April 2027 vollständig eingestellt. Am Ruhestandsdatum wechselt Prompt Flow in den schreibgeschützten Modus. Ihre vorhandenen Workflows werden bis zu diesem Datum weiterhin ausgeführt.

Recommended action: Migrieren Sie Ihre Prompt Flow-Arbeitslasten bis spätestens zum 20. April 2027 zu Microsoft Agent Framework.

Prompt Flow ist ein Entwicklungstool, das darauf abzielt, den gesamten Entwicklungszyklus von KI-Anwendungen, die von Large Language Models (LLMs) unterstützt werden, zu optimieren und zu vereinfachen. Prompt-Flow bietet eine umfassende Lösung, die den Prozess der Prototyperstellung, des Experimentierens, Iterierens und Bereitstellens Ihrer KI-Anwendungen vereinfacht.

Mit dem Eingabeaufforderungsfluss können Sie:

  • Koordinieren Sie ausführbare Abläufe mit LLMs, Prompts und Python-Tools mithilfe eines visualisierten Diagramms.
  • Testen, debuggen und iterieren Sie Ihre Abläufe mühelos.
  • Erstellen Sie Aufforderungsvarianten, und vergleichen Sie ihre Leistung.

In diesem Artikel erfahren Sie, wie Sie ihren ersten Eingabeaufforderungsfluss im Microsoft Foundry-Portal erstellen und entwickeln.

Voraussetzungen

Wichtig

Dieser Artikel bietet Unterstützung älterer Systeme für hub-basierte Projekte. Es funktioniert nicht für Foundry-Projekte. Sehen Sie , wie Sie wissen, welche Art von Projekt Sie haben?

SDK-Kompatibilitätshinweis: Codebeispiele erfordern eine bestimmte Microsoft Foundry SDK-Version. Wenn Kompatibilitätsprobleme auftreten, sollten Sie die Migration von einem hubbasierten zu einem Foundry-Projekt in Betracht ziehen.

  • Der Prompt-Fluss erfordert eine Computesitzung. Wenn Sie nicht über eine Laufzeit verfügen, können Sie eins im Foundry-Portal erstellen.
  • Sie benötigen ein bereitgestelltes Modell.
  • Konfigurieren Sie in Ihrem Projekt die Zugriffssteuerung für das BLOB-Speicherkonto. Weisen Sie Ihrem Benutzerkonto die Rolle " Storage Blob Data Contributor" zu.
    • Wählen Sie unten links im Foundry-Portal das Verwaltungscenter aus.
    • Wählen Sie in Connected resources für Ihren Hub den Link aus, der dem Typ Azure Blob Storage entspricht.
    • Wählen Sie View im Azure Portal aus
    • Wählen Sie im Azure-Portal Zugriffssteuerung (IAM) aus.
    • Wählen Sie "Rollenzuweisung hinzufügen">aus.
    • Suchen Sie nach "Storage Blob Data Contributor", und wählen Sie ihn aus.
    • Verwenden Sie die Seite " Rollenzuweisung hinzufügen ", um sich selbst als Mitglied hinzuzufügen.
    • Wählen Sie "Überprüfen" und "Zuweisen " aus, um die Aufgabe zu überprüfen.
    • Wählen Sie "Überprüfen" und "Zuweisen " aus, um die Rolle zuzuweisen.

Erstellen und Entwickeln Ihres Prompt-Flows

Sie können einen Fluss erstellen, indem Sie entweder die im Katalog verfügbaren Beispiele klonen oder einen Fluss von Grund auf neu erstellen. Wenn Sie bereits Flussdateien in der lokalen oder Dateifreigabe haben, können Sie die Dateien auch importieren, um einen Fluss zu erstellen.

So erstellen Sie einen Prompt-Flow aus der Galerie im Foundry-Portal:

Tipp

Da Sie den linken Bereich customize the left pane im Microsoft Foundry-Portal erstellen können, werden möglicherweise unterschiedliche Elemente angezeigt als in diesen Schritten. Wenn Sie nicht sehen, wonach Sie suchen, wählen Sie ... Mehr am unteren Rand des linken Bereichs.

Melden Sie sich bei Microsoft Foundry an. Stellen Sie sicher, dass der Umschalter "Neue Gießerei " deaktiviert ist. Diese Schritte beziehen sich auf Foundry (klassisch).

  1. Wählen Sie Ihr Projekt aus.

  2. Wenn Sie sich im Management Center befinden, wählen Sie "Gehe zu Projekt " aus, um zu Ihrem Projekt zurückzukehren.

  3. Wählen Sie im zusammenklappbaren linken Menü die Option Eingabeablauf aus.

  4. Wählen Sie +Erstellen aus.

  5. Wählen Sie in der Standardflusskachel " Erstellen" aus.

  6. Geben Sie auf der Seite " Neuen Fluss erstellen " einen Ordnernamen ein, und wählen Sie dann "Erstellen" aus.

    Screenshot der Auswahl und Erstellung eines Standardflusses.

  7. Die Seite zur Erstellung des Aufforderungsflusses wird geöffnet. Wählen Sie "Computesitzung starten" aus, damit eine Computesitzung für den Fluss ausgeführt wird.

  8. Sie können jetzt mit der Erstellung Ihres Workflows beginnen. Standardmäßig wird ein Beispielfluss angezeigt. Dieser Beispielfluss verfügt über Knoten für die LLM- und Python-Tools.

    Screenshot der Flusseingabe und -ausgabe auf der Seite zum Bearbeiten des Eingabeaufforderungsflusses.

    Hinweis

    Die Diagrammansicht nur für die Visualisierung. Es zeigt die Flussstruktur, die Sie entwickeln. Sie können die Diagrammansicht nicht direkt bearbeiten, aber Sie können die Diagrammansicht vergrößern, verkleineren und scrollen. Sie können einen Knoten in der Diagrammansicht auswählen, um den Knoten in der Toolbearbeitungsansicht hervorzuheben und zu diesem zu navigieren.

  9. Optionalerweise können Sie dem Ablauf weitere Tools hinzufügen. Die sichtbaren Tooloptionen sind LLM, Prompt und Python. Wenn Sie weitere Tools anzeigen möchten, wählen Sie +Weitere Tools aus.

    Screenshot, in dem Sie weitere Tools auf der Seite

  10. Wählen Sie eine Verbindung und Bereitstellung im LLM-Tool-Editor aus.

    Screenshot der ausgewählten Verbindung und Bereitstellung im LLM-Tool auf der Seite

  11. Fügen Sie im Abschnitt "Eingaben " einen Wert für das Thema hinzu. Beispiel: "Atome".

  12. Wählen Sie "Ausführen" aus, um den Fluss auszuführen.

    Screenshot der Option zum Auswählen der Ausführung auf der Seite zum Bearbeiten des Eingabeaufforderungsflusses.

  13. Der Ablaufausführungsstatus wird als "Ausführen" angezeigt.

    Screenshot des Ablaufs im ausgeführten Zustand auf der Seite

  14. Nachdem der Ablauf abgeschlossen ist, wählen Sie Ausgaben anzeigen, um die Ergebnisse des Ablaufs zu sehen.

    Screenshot der Option zum Anzeigen von Flussergebnissen auf der Seite zum Bearbeiten des Eingabeaufforderungsflusses.

  15. Sie können den Ausführungsstatus des Flows und die Ausgabe im Abschnitt Outputs ansehen.

    Bildschirmfoto der Ausgabedetails.

Erstellen des Ablaufs

Jeder Fluss wird durch einen Ordner dargestellt, der eine Datei "flow.dag.yaml", Quellcodedateien und Systemordner enthält. Sie können neue Dateien hinzufügen, vorhandene Dateien bearbeiten und Dateien löschen. Sie können die Dateien auch auf den lokalen Speicher exportieren oder aus dem lokalen Speicher importieren.

Zusätzlich zur Inline-Bearbeitung des Knotens in der Standardansicht können Sie auch die Umschaltfunktion "Rohdatei-Modus" aktivieren und den Dateinamen auswählen, um die Datei im geöffneten Dateireiter zu bearbeiten.

Flusseingabe und -ausgabe

Die Flusseingabe ist die Daten, die als Ganzes an den Fluss übergeben werden. Definieren Sie das Eingabeschema, indem Sie den Namen und typ angeben. Legen Sie den Eingabewert jeder Eingabe fest, um den Fluss zu testen. Sie können später in den Flussknoten mithilfe der ${inputs.[input name]} Syntax auf die Flusseingabe verweisen.

Die Flussausgabe ist die daten, die vom Fluss insgesamt erzeugt werden, wodurch die Ergebnisse der Ablaufausführung zusammengefasst werden. Sie können die Ausgabetabelle anzeigen und exportieren, nachdem der Flusslauf oder die Batchausführung abgeschlossen wurde. Definieren Sie den Wert der Ablaufsausgabe, indem Sie den Ausgabewert eines einzelnen Ablauknotens mithilfe der Syntax ${[node name].output} oder ${[node name].output.[field name]} referenzieren.

Durch Verweisen auf die Knotenausgabe können Sie Knoten miteinander verknüpfen. Sie können z. B. auf die LLM-Knotenausgabe in der Python Knoteneingabe verweisen, sodass der Python Knoten die LLM-Knotenausgabe nutzen kann, und in der Diagrammansicht können Sie sehen, dass die beiden Knoten miteinander verknüpft sind.

Aktivieren der bedingten Steuerung für den Fluss

Prompt Flow bietet nicht nur eine optimierte Möglichkeit zum Ausführen des Flusses, sondern bietet auch ein leistungsfähiges Feature für Entwickler – bedingte Steuerung, mit dem Benutzer Bedingungen für die Ausführung eines beliebigen Knotens in einem Fluss festlegen können.

Im Kern bietet das bedingte Steuerelement die Möglichkeit, jedem Knoten in einem Fluss eine Aktivierungskonfiguration zuzuordnen. Diese Konfiguration ist im Wesentlichen eine "when"-Anweisung, die bestimmt, wann ein Knoten ausgeführt werden soll. Die Leistungsfähigkeit dieses Features wird realisiert, wenn Sie komplexe Flüsse haben, bei denen die Ausführung bestimmter Aufgaben vom Ergebnis früherer Vorgänge abhängt. Mithilfe des bedingten Steuerelements können Sie ihre spezifischen Knoten so konfigurieren, dass sie nur ausgeführt werden, wenn die angegebenen Bedingungen erfüllt sind.

Insbesondere können Sie die Aktivierungskonfiguration für einen Knoten festlegen, indem Sie auf der Knotenkarte die Schaltfläche " Konfiguration aktivieren" auswählen. Sie können die Anweisung 'when' hinzufügen und die Bedingung festlegen. Sie können die Bedingungen festlegen, indem Sie auf die Flusseingabe oder die Knotenausgabe verweisen. Beispielsweise können Sie die Bedingung ${inputs.[input name]} als bestimmten Wert oder ${[node name].output} als bestimmten Wert festlegen.

Wenn die Bedingung nicht erfüllt ist, wird der Knoten übersprungen. Der Knotenstatus wird als "Umgangen" angezeigt.

Testen des Flusses

Sie können den Fluss auf zwei Arten testen:

  • Einen einzelnen Knoten ausführen:

    • Um einen einzelnen Knoten auszuführen, wählen Sie das Symbol "Ausführen" auf einem Knoten in der Standardansicht aus. Nachdem die Ausführung abgeschlossen ist, können Sie das Ergebnis schnell im Bereich "Outputs" des Knotens überprüfen. Screenshot zeigt die Schaltfläche
  • Führen Sie den gesamten Prozess aus:

    • Um den gesamten Fluss auszuführen, wählen Sie oben die Schaltfläche "Ausführen " aus.

Testergebnis und Ablaufverfolgung anzeigen (Vorschau)

Die Ablaufverfolgung ist standardmäßig deaktiviert. Um die Ablaufverfolgung zu aktivieren, müssen Sie die Umgebungsvariable PF_DISABLE_TRACING auf false setzen. Eine Möglichkeit, dies zu tun, besteht darin, dem Python-Knoten Folgendes hinzuzufügen:

import os
os.environ["PF_DISABLE_TRACING"] = "false"

Nach dem Ausführen des Flusses können Sie den Ausführungsstatus im Ausführungsbanner sehen. Zum Anzeigen der Ablaufverfolgung zum Überprüfen des Ergebnisses und Beobachten der Ablaufausführung können Sie "Ausgabe anzeigen " auswählen und dann die Registerkarte " Ablaufverfolgung " auswählen. Sie können die Eingabe und Ausgabe des gesamten Flusses und jeden Knoten zusammen mit detaillierteren Informationen zum Debuggen anzeigen. Sie ist während der Ausführung und nach Abschluss der Ausführung verfügbar.

Ablaufverfolgungsansicht verstehen

Wählen Sie die Registerkarte "Trace" auf dem Ausgabebildschirm aus, um ein Diagramm anzuzeigen, das Informationen über die Dauer und die zugehörigen Tokenkosten des Flusses bereitstellt. Wählen Sie den Fluss unter dem Knotennamen aus, um detaillierte Flussübersichtsinformationen im rechten Bereich anzuzeigen.

 Screenshot der Ablaufverfolgungsdetails.

Hinweis

Im Prompt Flow SDK haben wir mehrere Span-Typen definiert, einschließlich LLM, Function, Embedding, Retrieval und Flow. Und das System erstellt automatisch Spans mit Ausführungsinformationen in definierten Attributen und Ereignissen.

Weitere Informationen zu Span-Typen finden Sie unter Trace-Span.

Entwickeln eines Chatflusses

Der Chatfluss wurde für die Entwicklung von Unterhaltungsanwendungen entwickelt und basiert auf den Funktionen des Standardflusses und bietet erweiterte Unterstützung für Chateingaben/Ausgaben und die Verwaltung des Chatverlaufs. Mit dem Chatfluss können Sie ganz einfach einen Chatbot erstellen, der Chateingaben und -ausgaben verarbeitet.

Auf der Seite "Chatflusserstellung" wird der Chatfluss mit einer "Chat"-Bezeichnung gekennzeichnet, um ihn vom Standardfluss- und Auswertungsfluss zu unterscheiden. Um den Chatfluss zu testen, wählen Sie die Schaltfläche "Chat" aus, um ein Chatfeld für die Unterhaltung auszulösen.

Chateingabe/-ausgabe und Chatverlauf

Die wichtigsten Elemente, die einen Chatfluss von einem Standardablauf unterscheiden, sind Chateingaben, Chatverlauf und Chatausgabe.

  • Chateingabe: Chateingabe bezieht sich auf die Nachrichten oder Abfragen, die von Benutzern an den Chatbot übermittelt werden. Die effektive Behandlung von Chateingaben ist für eine erfolgreiche Unterhaltung von entscheidender Bedeutung, da es das Verständnis der Benutzerabsichten, das Extrahieren relevanter Informationen und das Auslösen geeigneter Antworten umfasst.
  • Chatverlauf: Der Chatverlauf ist der Datensatz aller Interaktionen zwischen dem Benutzer und dem Chatbot, einschließlich Benutzereingaben und KI-generierten Ausgaben. Die Aufrechterhaltung des Chatverlaufs ist unerlässlich, um den Unterhaltungskontext nachzuverfolgen und sicherzustellen, dass die KI kontextbezogene Antworten generieren kann.
  • Chatausgabe: Die Chatausgabe bezieht sich auf die KI-generierten Nachrichten, die als Reaktion auf ihre Eingaben an den Benutzer gesendet werden. Das Generieren kontextbezogener und ansprechender Chatausgabe ist für eine positive Benutzererfahrung von entscheidender Bedeutung.

Ein Chatfluss kann mehrere Eingabemethoden enthalten, wobei der Chatverlauf und die Chateingaben im Chatfluss erforderlich sind.

  • Im Abschnitt "Chatflusseingaben" kann eine Flusseingabe als Chateingabe markiert werden. Anschließend können Sie den Chateingabewert ausfüllen, indem Sie in das Chatfeld eingeben.

  • Der Promptfluss kann Nutzern helfen, den Chatverlauf zu verwalten. Der chat_history Abschnitt "Eingaben" ist für die Darstellung des Chatverlaufs reserviert. Alle Interaktionen im Chatfeld, einschließlich Benutzerchateingaben, generierten Chatausgaben und anderen Flusseingaben und -ausgaben, werden automatisch im Chatverlauf gespeichert. Der Benutzer kann den Wert im chat_history Eingabeabschnitt nicht manuell festlegen. Sie ist als Liste der Eingaben und Ausgaben strukturiert:

    [
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    },
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    }
    ]
    

Hinweis

Die Funktion zum automatischen Speichern oder Verwalten des Chatverlaufs ist ein Feature auf der Erstellungsseite beim Durchführen von Tests im Chatfeld. Für Batchausführungen ist es erforderlich, dass Benutzer den Chatverlauf in das Batchausführungs-Dataset aufnehmen. Wenn kein Chatverlauf zum Testen verfügbar ist, legen Sie die chat_history auf eine leere Liste [] innerhalb des Batchausführungs-Datasets fest.

Autorenaufforderung mit Chatverlauf

Das Integrieren des Chatverlaufs in Ihre Eingabeaufforderungen ist für die Erstellung kontextbezogener und ansprechender Chatbotantworten unerlässlich. In Ihren Eingabeaufforderungen können Sie auf chat_history verweisen, um frühere Interaktionen abzurufen. Auf diese Weise können Sie auf vorherige Eingaben und Ausgaben verweisen, um kontextbezogene Antworten zu erstellen.

Verwenden Sie die For-Loop-Grammatik der Sprache Jinja, um eine Liste der Eingaben und Ausgaben anzuzeigen.chat_history

{% for item in chat_history %}
user:
{{item.inputs.question}}
assistant:
{{item.outputs.answer}}
{% endfor %}

Testen mit dem Chatfeld

Das Chatfeld bietet eine interaktive Möglichkeit, Ihren Chatfluss zu testen, indem sie eine Unterhaltung mit Ihrem Chatbot simulieren. Führen Sie die folgenden Schritte aus, um Ihren Chatfluss mithilfe des Chatfelds zu testen:

  1. Wählen Sie die Schaltfläche "Chat" aus, um das Chatfeld zu öffnen.
  2. Geben Sie Ihre Testeingaben in das Chatfeld ein, und drücken Sie die EINGABETASTE, um sie an den Chatbot zu senden.
  3. Überprüfen Sie die Antworten des Chatbots, um sicherzustellen, dass sie kontextgerecht und korrekt sind.
  4. Zeigen Sie die Ablaufverfolgung für schnelles Beobachten und Debuggen an.

Nächste Schritte