Freigeben über


Python-Tool für Flows in Azure KI Studio

Wichtig

Die in diesem Artikel markierten Elemente (Vorschau) sind aktuell als öffentliche 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.

Das Prompt Flow Python-Tool bietet angepasste Codeausschnitte als eigenständige ausführbare Knoten. Sie können schnell Python-Tools erstellen, Code bearbeiten und Ergebnisse überprüfen.

Erstellen mit dem Python-Tool

  1. Erstellen oder öffnen Sie einen Flow in Azure KI Studio. Weitere Informationen finden Sie unter Erstellen eines Flows.

  2. Wählen Sie + Python- aus, um ihrem Flow das Python-Tool hinzuzufügen.

    Screenshot, der das Python-Tool zeigt, das einem Flow in Azure KI Studio hinzugefügt wurde.

  3. Geben Sie Werte für die Eingabeparameter des Python-Tools ein, die in der Eingabentabelle beschrieben werden. Beispielsweise können Sie im Eingabetextfeld Code den folgenden Python-Code eingeben:

    from promptflow import tool
    
    @tool
    def my_python_tool(message: str) -> str:
        return 'hello ' + message
    

    Weitere Informationen finden Sie unter Python-Codeeingabeanforderungen.

  4. Fügen Sie ihrem Flow nach Bedarf weitere Tools hinzu. Oder wählen Sie Ausführen aus, um den Flow auszuführen.

  5. Die Ausgaben werden in der Ausgabentabelle beschrieben. Basierend auf der vorherigen Python-Codeeingabe, wenn die Eingabemeldung „world“ lautet, ist die Ausgabe hello world.

Eingaben

Die Liste der Eingaben ändert sich basierend auf den Argumenten der Toolfunktion, nachdem Sie den Code gespeichert haben. Das Hinzufügen von Typ zu Argumenten und return-Werten hilft dem Tool, die Typen ordnungsgemäß anzuzeigen.

Name Typ Beschreibung Erforderlich
Code Zeichenfolge Der Python-Codeausschnitt. Ja
Eingaben - Die Liste der Funktionsparameter des Tools und der zugehörigen Zuweisungen. -

Ausgaben

Die Ausgabe ist der return-Wert der Python-Toolfunktion. Betrachten Sie beispielsweise die folgende Python-Toolfunktion:

from promptflow import tool

@tool
def my_python_tool(message: str) -> str:
    return 'hello ' + message

Wenn die Eingabemeldung „world“ lautet, ist die Ausgabe hello world.

Typen

Typ Beispiel für Python Beschreibung
INT param: int Ganzzahltyp
bool param: bool Boolescher Typ
Zeichenfolge param: str Zeichenfolgentyp
double param: float Double-Typ
list param: list or param: List[T] Listentyp
Objekt param: dict or param: Dict[K, V] Objekttyp
Verbindung param: CustomConnection Der Verbindungstyp wird besonders behandelt.

Parameter mit Typanmerkung Connection werden als Verbindungseingaben behandelt, was bedeutet:

  • Die Prompt-Flow-Erweiterung zeigt eine Auswahl für die Verbindung an.
  • Während der Ausführung versucht der Prompt Flow, die Verbindung mit einem dem übergebenen Parameterwert entsprechenden Namen zu finden.

Hinweis

Die Union[...]-Typanmerkung wird nur für Verbindungstyp unterstützt. z. B. param: Union[CustomConnection, OpenAIConnection].

Python-Codeeingabeanforderungen

In diesem Abschnitt werden die Anforderungen der Python-Codeeingabe für das Python-Tool beschrieben.

  • Code im Python-Tool sollte aus vollständigem Python-Code bestehen, einschließlich aller erforderlichen Modulimporte.
  • Code im Python-Tool muss eine Funktion enthalten, die mit @tool (Toolfunktion) versehen ist und als Einstiegspunkt für die Ausführung dient. Der @tool-Decorator sollte nur einmal innerhalb des Schnipsels angewandt werden.
  • Funktionsparameter des Python-Tools müssen im Abschnitt Inputs zugewiesen werden.
  • Python-Toolfunktion muss eine Rückgabe-Anweisung und einen Wert aufweisen, was die Ausgabe des Tools ist.

Der folgende Python-Code ist ein Beispiel für bewährte Methoden:

from promptflow import tool

@tool
def my_python_tool(message: str) -> str:
    return 'hello ' + message

Verwenden einer benutzerdefinierten Verbindung im Python-Tool

Wenn Sie ein Python-Tool entwickeln, für das externe Dienste mit Authentifizierung aufgerufen werden müssen, können Sie die benutzerdefinierte Verbindung in einem Prompt-Flow verwenden. Sie können den Zugriffsschlüssel sicher speichern und dann in Ihrem Python-Code abrufen.

Erstellen einer benutzerdefinierten Verbindung

Erstellen Sie eine benutzerdefinierte Verbindung, in der alle Ihre API-Schlüssel für das große Sprachmodell oder sonstigen erforderlichen Anmeldeinformationen gespeichert werden.

  1. Navigieren Sie zur Seite Verwaltungscenter für Ihr Projekt.

  2. Wählen Sie unter der Überschrift Hub oder Projekt die Option Verbundene Ressourcen aus.

  3. Wählen Sie + Neue Verbindung aus.

  4. Wählen Sie Benutzerdefinierten Dienst aus. Sie können ihren Verbindungsnamen definieren. Sie können mehrere Schlüssel-Wert-Paare hinzufügen, um Ihre Anmeldeinformationen und Schlüssel zu speichern, indem Sie Schlüssel-Wert-Paare hinzufügen auswählen.

    Hinweis

    Stellen Sie sicher, dass mindestens ein Schlüssel-Wert-Paar als geheim festgelegt ist. Andernfalls wird die Verbindung nicht erfolgreich erstellt. Um ein Schlüssel-Wert-Paar als geheim festzulegen, wählen Sie ist geheim aus, um Ihren Schlüsselwert zu verschlüsseln und zu speichern.

Nutzen einer benutzerdefinierten Verbindung in Python

So nutzen Sie eine benutzerdefinierte Verbindung in Ihrem Python-Code:

  1. Importieren Sie im Codeabschnitt ihres Python-Knotens die benutzerdefinierte Verbindungsbibliothek from promptflow.connections import CustomConnection. Definieren Sie einen Eingabeparameter des Typs CustomConnection in der Toolfunktion.
  2. Parsen Sie die Eingabe in den Eingabeabschnitt. Wählen Sie dann Ihre benutzerdefinierte Zielverbindung in der Dropdownliste „Wert“ aus.

Beispiel:

from promptflow import tool
from promptflow.connections import CustomConnection

@tool
def my_python_tool(message: str, myconn: CustomConnection) -> str:
    # Get authentication key-values from the custom connection
    connection_key1_value = myconn.key1
    connection_key2_value = myconn.key2

Nächste Schritte