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
Erstellen oder öffnen Sie einen Flow in Azure KI Studio. Weitere Informationen finden Sie unter Erstellen eines Flows.
Wählen Sie + Python- aus, um ihrem Flow das Python-Tool hinzuzufügen.
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.
Fügen Sie ihrem Flow nach Bedarf weitere Tools hinzu. Oder wählen Sie Ausführen aus, um den Flow auszuführen.
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.
Navigieren Sie zur Seite Verwaltungscenter für Ihr Projekt.
Wählen Sie unter der Überschrift Hub oder Projekt die Option Verbundene Ressourcen aus.
Wählen Sie + Neue Verbindung aus.
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:
- Importieren Sie im Codeabschnitt ihres Python-Knotens die benutzerdefinierte Verbindungsbibliothek
from promptflow.connections import CustomConnection
. Definieren Sie einen Eingabeparameter des TypsCustomConnection
in der Toolfunktion. - 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