Verwenden von Workflows im Code

Abgeschlossen

Nachdem Sie einen Workflow im visuellen Designer von Microsoft Foundry entworfen und getestet haben, können Sie ihn mithilfe des Azure AI Projects SDK in Ihre Anwendungen integrieren. Auf diese Weise können Sie workflowgesteuerte Automatisierung in Web-Apps, APIs, Back-End-Dienste und andere Softwarelösungen einbetten.

Workflows werden im Foundry-Portal mithilfe des visuellen Designers erstellt, der die zugrunde liegende YAML-Definition generiert. Nachdem ein Workflow in Ihrem Projekt gespeichert wurde, können Sie ihn programmgesteuert aufrufen, indem Sie auf den Namen verweisen. Sie können die YAML-Definition des Workflows auch aus dem Portal herunterladen und in Ihre Codebasis einfügen.

Aufrufen eines Workflows

Bevor Sie einen Workflow ausführen, stellen Sie eine Verbindung zu Ihrem Microsoft Foundry-Projekt mithilfe des AIProjectClient her. Dieser Client verarbeitet die Authentifizierung und bietet Zugriff auf die openAI-kompatible API zum Ausführen von Unterhaltungen und Aufrufen von Workflows. Um einen vorhandenen Workflow in Ihrem Projekt auszuführen, erstellen Sie eine Unterhaltung, und rufen Sie den Workflow anhand des Namens auf.

# Reference a workflow created in the Foundry portal
workflow_name = "triage-workflow"

# Create a conversation context for the workflow
conversation = openai_client.conversations.create()

# Execute the workflow, passing input to drive the workflow logic
stream = openai_client.responses.create(
    conversation=conversation.id,
    extra_body={"agent": {"name": workflow_name, "type": "agent_reference"}},
    input="Users can't reset their password from the mobile app.",
    stream=True,
)

Mit input dem Parameter können Sie eine Eingabeaufforderung oder Nachricht an den Workflow übergeben, die der Workflow zum Steuern seiner Logik verwenden kann, z. B. das Verarbeiten einer Benutzeranfrage, das Triagieren eines Supporttickets oder das Beantworten einer Frage. Je nachdem, wie Ihr Workflow entworfen wurde, kann diese Eingabe wie folgt lauten:

  • Eine Benutzerfrage, die Agents analysieren und beantworten
  • Beschreibung eines Supporttickets zur Klassifizierung und Weiterleitung
  • Eine Datennutzlast, die die Verarbeitungslogik auslöst
  • Eine leere Zeichenfolge, die den Workflow einfach ohne bestimmte Eingabe startet

Prozessworkflowereignisse

Wenn das Streaming aktiviert ist, empfängt Ihre Anwendung Ereignisse, während der Workflow ausgeführt wird. Mit diesen Ereignissen können Sie den Fortschritt in Echtzeit anzeigen, Agent-Ausgaben erfassen und auf Workflowaktionen reagieren.

for event in stream:
    if event.type == "response.completed":
        print("Workflow completed:")
        for message in event.response.output:
            if message.content:
                for content_item in message.content:
                    if content_item.type == 'output_text':
                        print(content_item.text)
    if (event.type == "response.output_item.done") and event.item.type == ItemType.WORKFLOW_ACTION:
        print(f"Action '{event.item.action_id}' completed with status: {event.item.status}")

Zu den allgemeinen Ereignistypen gehören:

Ereignistyp Description
response.completed Der Workflow hat die Ausführung abgeschlossen und eine endgültige Antwort zurückgegeben.
response.output_item.done Ein einzelnes Ausgabeelement (z. B. eine Workflowaktion) wurde abgeschlossen.

Durch die Überwachung dieser Ereignisse können Sie sehen, wie der Workflow in Echtzeit fortschreitet, oder externe Aktionen basierend auf dem Workflowstatus auslösen. Alternativ können Sie warten, bis der gesamte Workflow abgeschlossen ist, und die endgültige Antwort ohne Streaming verarbeiten. Bei Workflows, die Muster mit menschlicher Interaktion enthalten, muss Ihre Anwendung möglicherweise Pausen behandeln, wo der Workflow auf Benutzereingaben wartet. In diesen Fällen können Sie zusätzliche Nachrichten an die Unterhaltung senden, um die angeforderte Eingabe bereitzustellen und die Workflowausführung fortzusetzen.

Vorteile der Codeintegration

Das Integrieren von Workflows in Ihren Code ermöglicht mehrere Szenarien:

Scenario Nutzen
Webanwendungen Binden Sie KI-gesteuerte Workflows direkt in anwenderorientierte Apps ein.
APIs und Microservices Verfügbarmachen von Workflowfunktionen über REST-Endpunkte
Batchverarbeitung Programmgesteuertes Aufrufen von Workflows für Massenvorgänge
Tests und Prüfung Automatisieren von Workflowtests als Teil von CI/CD-Pipelines
Benutzerdefinierte Schnittstellen Erstellen von speziellen UIs, die auf bestimmte Workflow-Anwendungsfälle zugeschnitten sind

Durch die Kombination der visuellen Designerfahrung des Foundry-Portals mit der Flexibilität der Codeintegration können Sie leistungsstarke KI-gesteuerte Lösungen erstellen, die nahtlos in Ihre vorhandene Softwarearchitektur passen.