Promptflow in Azure AI ausführen#

Vorausgesetzt, Sie haben gelernt, wie man einen Flow erstellt und ausführt, indem Sie Quick start befolgen. Diese Anleitung führt Sie durch den Hauptprozess der Übermittlung eines Promptflow-Runs an Azure AI.

Vorteile der Verwendung von Azure AI im Vergleich zur lokalen Ausführung

  • Für Teamzusammenarbeit entwickelt: Die Portal-Benutzeroberfläche ist besser geeignet, um Ihren Flow und Ihre Runs zu teilen und zu präsentieren. Und der Arbeitsbereich kann gemeinsam genutzte Teamressourcen wie Verbindungen besser organisieren.

  • Enterprise Readiness Solutions: Promptflow nutzt die robusten Enterprise Readiness Solutions von Azure AI und bietet eine sichere, skalierbare und zuverlässige Grundlage für die Entwicklung, Experimente und Bereitstellung von Flows.

Voraussetzungen#

  1. Ein Azure-Konto mit einem aktiven Abonnement - Konto kostenlos erstellen

  2. Ein Azure AI ML-Arbeitsbereich - Erstellen Sie die Arbeitsbereichsressourcen, die Sie für den Einstieg in Azure AI benötigen.

  3. Eine Python-Umgebung, python=3.9 oder eine höhere Version wie 3.10 wird empfohlen.

  4. Installieren Sie promptflow mit zusätzlichen Abhängigkeiten und promptflow-tools.

pip install promptflow[azure] promptflow-tools
  1. Klonen Sie das Beispiel-Repository und überprüfen Sie die Flows im Ordner examples/flows.

git clone https://github.com/microsoft/promptflow.git

Erstellen Sie notwendige Verbindungen#

Verbindungen helfen bei der sicheren Speicherung und Verwaltung von geheimen Schlüsseln oder anderen sensiblen Anmeldeinformationen, die für die Interaktion mit LLMs und anderen externen Tools wie Azure Content Safety erforderlich sind.

In dieser Anleitung verwenden wir den Flow web-classification, der die Verbindung open_ai_connection verwendet. Wir müssen die Verbindung einrichten, wenn wir sie noch nicht hinzugefügt haben.

Bitte gehen Sie zum Arbeitsbereichsportal, klicken Sie auf Prompt flow -> Connections -> Create, und folgen Sie dann der Anweisung, um Ihre eigenen Verbindungen zu erstellen. Mehr erfahren Sie unter connections.

Einen Run an den Arbeitsbereich übermitteln#

Vorausgesetzt, Sie befinden sich im Arbeitsverzeichnis <path-to-the-sample-repo>/examples/flows/standard/

Verwenden Sie az login, um sich anzumelden, damit promptflow Ihre Anmeldedaten abrufen kann.

az login

Übermitteln Sie einen Run an den Arbeitsbereich.

pfazure run create --subscription <my_sub> -g <my_resource_group> -w <my_workspace> --flow web-classification --data web-classification/data.jsonl --stream

Standard-Abonnement/Ressourcengruppe/Arbeitsbereich

Beachten Sie, dass --subscription, -g und -w weggelassen werden können, wenn Sie die Azure CLI installiert und die Standardkonfigurationen festgelegt haben.

az account set --subscription <my-sub>
az configure --defaults group=<my_resource_group> workspace=<my_workspace>

Run-Namen angeben und einen Run anzeigen

Sie können den Run auch benennen, indem Sie --name my_first_cloud_run im Befehl zum Erstellen des Runs angeben. Andernfalls wird der Run-Name nach einem bestimmten Muster generiert, das einen Zeitstempel enthält.

Mit einem Run-Namen können Sie die Run-Details einfach mit den folgenden Befehlen streamen oder anzeigen

pfazure run stream -n my_first_cloud_run  # same as "--stream" in command "run create"
pfazure run show-details -n my_first_cloud_run
pfazure run visualize -n my_first_cloud_run

Weitere Details finden Sie unter CLI-Referenz: pfazure

  1. Erforderliche Bibliotheken importieren

from azure.identity import DefaultAzureCredential, InteractiveBrowserCredential
# azure version promptflow apis
from promptflow.azure import PFClient
  1. Anmeldedaten abrufen

try:
    credential = DefaultAzureCredential()
    # Check if given credential can get token successfully.
    credential.get_token("https://management.azure.com/.default")
except Exception as ex:
    # Fall back to InteractiveBrowserCredential in case DefaultAzureCredential not work
    credential = InteractiveBrowserCredential()
  1. Einen Handle für den Arbeitsbereich erhalten

# Get a handle to workspace
pf = PFClient(
    credential=credential,
    subscription_id="<SUBSCRIPTION_ID>",  # this will look like xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    resource_group_name="<RESOURCE_GROUP>",
    workspace_name="<AML_WORKSPACE_NAME>",
)
  1. Den Flow-Run übermitteln


# load flow
flow = "web-classification"
data = "web-classification/data.jsonl"

# create run
base_run = pf.run(
    flow=flow,
    data=data,
)

pf.stream(base_run)
  1. Run-Informationen anzeigen

details = pf.get_details(base_run)
details.head(10)

pf.visualize(base_run)

Den Run im Arbeitsbereich anzeigen#

Am Ende der Stream-Protokolle finden Sie die portal_url des übermittelten Runs. Klicken Sie darauf, um den Run im Arbeitsbereich anzuzeigen.

c_0

Run-Snapshot des Flows mit zusätzlichen Einschlüssen#

Flows, für die zusätzliche Einschlüsse für Dateien aktiviert sind, können ebenfalls zur Ausführung im Arbeitsbereich übermittelt werden. Bitte beachten Sie, dass die spezifischen zusätzlichen Einschlussdateien oder Ordner innerhalb des Ordners Files des Run-Snapshots in der Cloud hochgeladen und organisiert werden.

img

Nächste Schritte#

Erfahren Sie mehr über