Freigeben über


Erstellen und Verwalten von Promptflow-Computesitzungen in Azure KI Studio

Wichtig

Einige der in diesem Artikel beschriebenen Features sind möglicherweise nur in der Vorschau verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Zum Ausführen von Promptflows ist eine Computesitzung erforderlich. Verwenden Sie Azure KI Studio, um Promptflow-Computesitzungen zu erstellen und zu verwalten.

Eine Promptflow-Computesitzung umfasst Computerressourcen, die für die Ausführung der Anwendung erforderlich sind (einschließlich eines Docker-Images, das alle erforderlichen Abhängigkeitspakete enthält). Zusätzlich zur Flowausführung verwendet Azure KI Studio die Computesitzung, um die Genauigkeit und Funktionalität der in den Flow integrierten Tools sicherzustellen, wenn Sie Aktualisierungen am Prompt- oder Codeinhalt vornehmen.

Voraussetzungen

Melden Sie sich bei Azure KI Studio an, und wählen Sie Ihren Promptflow aus.

Erstellen einer Computesitzung

Wenn Sie eine Computesitzung starten, können Sie die Standardeinstellungen verwenden oder die erweiterten Einstellungen anpassen.

Starten einer Computesitzung mit Standardeinstellungen

Standardmäßig verwendet die Computesitzung die in flow.dag.yaml im Flowordner definierte Umgebung. Sie wird über serverloses Computing mit einer VM-Größe ausgeführt, für die Sie in Ihrem Arbeitsbereich über ausreichende Kontingente verfügen.

  1. Navigieren Sie zu Ihrem Projekt in Azure KI Studio.
  2. Klicken Sie im linken Bereich auf Flows, und wählen Sie dann den Flow aus, den Sie ausführen möchten.
  3. Klicken Sie auf der oberen Symbolleiste des Promptflows auf Computesitzung starten.

Starten einer Computesitzung mit erweiterten Einstellungen

In den erweiterten Einstellungen können Sie den Computetyp auswählen. Sie können zwischen serverlosem Computing und einer Compute-Instanz auswählen.

  1. Navigieren Sie zu Ihrem Projekt in Azure KI Studio.

  2. Klicken Sie im linken Bereich auf Flows, und wählen Sie dann den Flow aus, den Sie ausführen möchten.

  3. Wählen Sie auf der oberen Symbolleiste des Promptflows den Dropdownpfeil rechts neben der Schaltfläche Computesitzung starten aus. Wählen Sie Mit erweiterten Einstellungen beginnen aus, um die Computesitzung anzupassen.

    Screenshot: Promptflow mit Standardeinstellungen zum Starten einer Computesitzung auf einer Flowseite

    Sie können zwischen serverlosem Computing und einer Compute-Instanz auswählen.

    • Wenn Sie serverloses Computing auswählen, können Sie die folgenden Einstellungen festlegen:

      • Passen Sie die Größe der VM an, die die Computesitzung verwendet.
      • Passen Sie die Leerlaufzeit an, für die Code gespeichert werden soll, indem die Computesitzung automatisch gelöscht wird, wenn sie nicht verwendet wird.
      • Legen Sie die benutzerseitig zugewiesene verwaltete Identität fest. Die Computesitzung verwendet diese Identität, um ein Basisimage zu pullen und Pakete zu installieren. Stellen Sie sicher, dass die benutzerseitig zugewiesene verwaltete Identität über die Azure Container Registry-Pull-Berechtigung verfügt.

      Wenn Sie die benutzerseitig zugewiesene Identität nicht festlegen, verwendet der Promptflow standardmäßig die Benutzeridentität. Erfahren Sie mehr über das Erstellen und Aktualisieren von benutzerseitig zugewiesenen Identitäten für den Arbeitsbereich..

      Screenshot: Promptflow mit erweiterten Einstellungen unter Verwendung von serverlosem Computing zum Starten einer Computesitzung auf einer Flowseite

    • Wenn Sie die Compute-Instanz auswählen, können Sie nur die Zeit für das Herunterfahren bei Leerlauf festlegen.

      • Da es sich um eine vorhandene Compute-Instanz handelt, ist die VM-Größe festgelegt und kann in einer Computesitzung nicht geändert werden.

      • Die für diese Computesitzung verwendete Identität wird auch in der Compute-Instanz definiert. Standardmäßig wird die Benutzeridentität verwendet. Erfahren Sie mehr über das Zuweisen einer Identität zu einer Compute-Instanz

      • Die Leerlaufzeit für das Herunterfahren wird verwendet, um den Lebenszyklus der Computesitzung zu definieren. Wenn sich die Computesitzung für die von Ihnen festgelegte Zeit im Leerlauf befindet, wird sie automatisch gelöscht. Wenn das Herunterfahren bei Leerlauf für eine Compute-Instanz aktiviert ist, wird sie zwar heruntergefahren, aber nicht gelöscht.

        Screenshot: Promptflow mit erweiterten Einstellungen unter Verwendung einer Compute-Instanz zum Starten einer Computesitzung auf einer Flowseite

  4. Klicken Sie auf Weiter, um die Basisimageeinstellungen anzugeben. Verwenden Sie das Standardbasisimage, oder stellen Sie ein benutzerdefiniertes Basisimage bereit. Wenn Sie ein angepasstes Basisimage auswählen, geben Sie die Image-URL und das Imagetag an. Nur Images in einer öffentlichen Docker-Registrierung oder Azure Container Registry (ACR) werden unterstützt. Wenn Sie ein Image in ACR angeben, stellen Sie sicher, dass Sie (oder die benutzerseitig zugewiesene verwalte Identität) über die ACR-Pullberechtigung verfügen.

  5. Klicken Sie auf Weiter, um die Einstellungen zu überprüfen.

  6. Wählen Sie Anwenden und Computesitzung starten aus, um die Computesitzung zu starten.

Verwalten einer Computesitzung

Um eine Computesitzung zu verwalten, wählen Sie auf der Flowseite auf der oberen Symbolleiste die Option Laufende Computesitzung aus:

  • Wenn Sie Computesitzungseinstellungen ändern auswählen, wird die Konfigurationsseite für die Computesitzung geöffnet, auf der Sie die VM-Größe und die Leerlaufzeit für die Computesitzung definieren können.
  • Wenn Sie auf Installieren von Paketen aus requirements.txt klicken, wird requirements.txt auf der Promptflow-Benutzeroberfläche geöffnet, sodass Sie Pakete hinzufügen können.
  • Mit Installierte Pakete anzeigen werden die Pakete angezeigt, die in der Computesitzung installiert sind. Dazu zählen die Pakete, die in Basisimages enthalten und in der requirements.txt-Datei im Flowordner angegeben sind.
  • Durch das Zurücksetzen der Computesitzung wird die aktuelle Computesitzung gelöscht und eine neue Sitzung mit derselben Umgebung erstellt. Wenn ein Paketkonflikt auftritt, können Sie diese Option ausprobieren.
  • Durch das Beenden der Computesitzung wird die aktuelle Computesitzung gelöscht. Wenn keine aktive Computesitzung über das zugrunde liegende serverlose Computing ausgeführt wird, wird auch die Computeressource gelöscht. Wenn sich die Computesitzung in einer Compute-Instanz befindet, führt das Beenden der Sitzung dazu, dass sich die Instanz im Leerlauf befindet.

Screenshot: Aktionen für eine Computesitzung auf einer Flowseite

Sie können die Umgebung anpassen, die Sie zum Ausführen dieses Flows verwenden, indem Sie Pakete in der requirements.txt-Datei im Flowordner hinzufügen. Nachdem Sie in dieser Datei weitere Pakete hinzugefügt haben, wählen Sie eine der folgenden Optionen aus:

  • Speichern und Installieren löst pip install -r requirements.txt im Flow-Ordner aus. Der Vorgang kann je nach den Paketen, die Sie installieren, einige Minuten dauern.
  • Nur speichern speichert nur die requirements.txt-Datei. Sie können die Pakete später selbst installieren.

Screenshot: Option zum Speichern und Installieren von Paketen für eine Computesitzung auf einer Flowseite

Hinweis

Sie können den Speicherort und sogar den Dateinamen von requirements.txt ändern, aber stellen Sie sicher, dass Sie ihn auch in der flow.dag.yaml-Datei im Flow-Ordner ändern.

Heften Sie die Version von promptflow und promptflow-tools in requirements.txt nicht an, da sie bereits im Basisimage der Computesitzung enthalten sind.

Hinzufügen von Paketen in einem privaten Feed in Azure DevOps

Führen Sie die folgenden Schritte aus, wenn Sie einen privaten Feed in Azure DevOps verwenden möchten:

  1. Erstellen Sie eine benutzerseitig zugewiesene verwaltete Identität, und fügen Sie diese in der Azure DevOps-Organisation hinzu. Weitere Informationen finden Sie unter Verwenden von Dienstprinzipalen und verwalteten Identitäten.

    Hinweis

    Wenn die Schaltfläche Benutzer*innen hinzufügen nicht sichtbar ist, verfügen Sie wahrscheinlich nicht über die erforderlichen Berechtigungen zum Ausführen dieser Aktion.

  2. Fügen Sie Ihrem Projekt benutzerseitig zugewiesene Identitäten hinzu oder aktualisieren Sie diese.

  3. Fügen Sie {private} zu Ihrer privaten Feed-URL hinzu. Wenn Sie beispielsweise test_package aus test_feed in Azure DevOps installieren möchten, fügen Sie -i https://{private}@{test_feed_url_in_azure_devops} zu requirements.txt hinzu:

    -i https://{private}@{test_feed_url_in_azure_devops}
    test_package
    
  4. Geben Sie die benutzerseitig zugewiesene verwaltete Identität unter Mit erweiterten Einstellungen beginnen an, wenn die Computesitzung nicht ausgeführt wird. Sie können die Schaltfläche Bearbeiten nutzen, wenn die Computesitzung ausgeführt wird.

    Screenshot: Umschaltfläche zur Verwendung einer benutzerseitig zugewiesenen verwalteten Identität für den Arbeitsbereich

Ändern des Basisimages

Standardmäßig verwenden wir für den Prompt Flow das neueste Image als Basisimage. Wenn Sie ein anderes Basisimage verwenden möchten, müssen Sie ein eigenes Basisimage erstellen. Das Docker-Image sollte über das Promptflow-Basisimage mcr.microsoft.com/azureml/promptflow/promptflow-runtime:<newest_version> erstellt werden. Verwenden Sie nach Möglichkeit die neueste Version des Basisimage.

  1. Öffnen Sie den Promptflow.

  2. Wählen Sie auf der Symbolleiste die Option Rohdatendateimodus aus, um die Bearbeitung im Datei-Editor zu aktivieren.

  3. Öffnen Sie den Abschnitt Dateien, und wählen Sie flow.dag.yaml aus.

    Screenshot: Aktionen zum Anpassen eines Basisimages für eine Computesitzung auf einer Flowseite

  4. Geben Sie das Image im Abschnitt environment der flow.dag.yaml-Datei an. Fügen Sie den folgenden Code hinzu, um beispielsweise das Image <your-custom-image> zu verwenden:

    environment:
        image: <your-custom-image>
        python_requirements_txt: requirements.txt
    

Upgraden der Runtime für eine Compute-Instanz

Wenn Sie zuvor eine Runtime für eine Compute-Instanz erstellt haben, ändern Sie diese mithilfe der folgenden Schritte in eine Computesitzung:

  • Bereiten Sie Ihre requirements.txt-Datei im Flow-Ordner vor. Weitere Informationen finden Sie unter Verwalten einer Computesitzung.

  • Wenn Sie eine benutzerdefinierte Umgebung erstellt haben, rufen Sie das Image über die Umgebungsdetailseite ab, und geben Sie es in der flow.dag.yaml-Datei im Flowordner an. Weitere Informationen finden Sie unter Ändern des Basisimages. Stellen Sie sicher, dass Sie über die Berechtigung acr pull für das Image verfügen.

  • Sie können die vorhandene Compute-Instanz weiterhin verwenden, wenn Sie den Lebenszyklus manuell verwalten möchten.