Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt nur für:klassisches Foundry Portal. Dieser Artikel ist für das neue Foundry-Portal nicht verfügbar.
Erfahren Sie mehr über das neue Portal.
Hinweis
Links in diesem Artikel können Inhalte in der neuen Microsoft Foundry-Dokumentation anstelle der jetzt angezeigten Foundry-Dokumentation (klassisch) öffnen.
Warnung
Die Entwicklung der Prompt Flow-Funktion endete am 20. April 2026. Das Feature wird am 20. April 2027 vollständig eingestellt. Am Ruhestandsdatum wechselt Prompt Flow in den schreibgeschützten Modus. Ihre vorhandenen Workflows werden bis zu diesem Datum weiterhin ausgeführt.
Recommended action: Migrieren Sie Ihre Prompt Flow-Arbeitslasten bis spätestens zum 20. April 2027 zu Microsoft Agent Framework.
Das Prompt-Flow-Python-Tool stellt benutzerdefinierte Codeausschnitte als eigenständige, ausführbare Knoten bereit. Sie können schnell Python Tools erstellen, Code bearbeiten und Ergebnisse überprüfen.
Voraussetzungen
Wichtig
Dieser Artikel bietet Unterstützung älterer Systeme für hub-basierte Projekte. Es funktioniert nicht für Foundry-Projekte. Sehen Sie , wie Sie wissen, welche Art von Projekt Sie haben?
SDK-Kompatibilitätshinweis: Codebeispiele erfordern eine bestimmte Microsoft Foundry SDK-Version. Wenn Kompatibilitätsprobleme auftreten, sollten Sie die Migration von einem hubbasierten zu einem Foundry-Projekt in Betracht ziehen.
- Ein Azure Konto mit einem aktiven Abonnement. Wenn Sie kein Konto haben, erstellen Sie ein free Azure Konto, das ein kostenloses Testabonnement enthält.
- Wenn Sie über keins verfügen, erstellen Sie ein hubbasiertes Projekt.
Erstellen mit dem Python-Tool
Erstellen oder Öffnen eines Flusses in Microsoft Foundry. Weitere Informationen finden Sie unter Erstellen eines Flusses.
Wählen Sie + Python aus, um ihrem Fluss das Python Tool hinzuzufügen.
Geben Sie Werte für die Eingabeparameter des Python Tools ein, die in der Tabelle Inputs beschrieben werden. Geben Sie beispielsweise im Eingabetextfeld Code den folgenden Python Code ein:
from promptflow import tool @tool def my_python_tool(message: str) -> str: return 'hello ' + messageWeitere Informationen finden Sie unter Python Codeeingabeanforderungen.
Fügen Sie Ihrem Ablauf nach Bedarf weitere Tools hinzu. Oder wählen Sie "Ausführen" aus, um den Fluss auszuführen.
Die Ausgaben werden in der Tabelle " Outputs" beschrieben. Basierend auf dem vorherigen Beispiel für eine Python-Codeeingabe, wenn die Eingabemeldung "world" lautet, ist die Ausgabe
hello world.
Eingänge
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 richtig anzuzeigen.
| Namen | Typ | Beschreibung | Erforderlich |
|---|---|---|---|
| Code | Schnur | Der Python-Codeausschnitt. | Ja |
| Eingänge | - | Die Liste der Toolfunktionsparameter und deren Zuweisungen. | - |
Ausgänge
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 | Ganzzahliger Typ |
| Bool | param: bool | Boolescher Typ |
| Schnur | param: str | Zeichenfolgentyp |
| doppelt | param: float | Doppelter Typ |
| Liste | param: List oder Param: List[T] | Listentyp |
| Objekt | Param: Diktat oder Param: Dict[K, V] | Objekttyp |
| Verbindung | param: CustomConnection | Der Verbindungstyp wird speziell behandelt. |
Behandeln Sie Parameter mit der Connection Typanmerkung als Verbindungseingaben. Diese Behandlung bedeutet:
- Die Erweiterung des Prompt-Flusses zeigt einen Selektor zur Auswahl der Verbindung.
- Während der Ausführungszeit versucht der Eingabeaufforderungsfluss, die Verbindung mit demselben Namen aus dem parameterwert zu finden, den Sie übergeben.
Hinweis
Die Union[...] Typanmerkung unterstützt nur den Verbindungstyp. Ein Beispiel ist param: Union[CustomConnection, OpenAIConnection].
Python Codeeingabeanforderungen
In diesem Abschnitt werden die Anforderungen für die Python Codeeingabe für das Python Tool beschrieben.
- Python Toolcode sollte aus vollständigem Python Code bestehen, einschließlich aller erforderlichen Modulimporte.
- Python Toolcode muss eine Funktion enthalten, die mit
@tool(Toolfunktion) versehen ist und als Einstiegspunkt für die Ausführung dient. Wenden Sie den@toolDekorateur nur einmal innerhalb des Codeausschnitts an. - Legen Sie Python-Toolfunktionsparameter im Abschnitt
Inputsfest. - Python-Werkzeugfunktion muss eine Rückgabeanweisung und einen Wert haben, der die Ausgabe des Werkzeugs 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
Verbrauchen einer benutzerdefinierten Verbindung im Python-Tool
Wenn Sie ein Python Tool entwickeln, das externe Dienste mit Authentifizierung aufruft, verwenden Sie die benutzerdefinierte Verbindung in einem Eingabeaufforderungsfluss. Mithilfe dieser Verbindung können Sie den Zugriffsschlüssel sicher speichern und dann in Ihrem Python Code abrufen.
Erstellen einer benutzerdefinierten Verbindung
Erstellen Sie eine benutzerdefinierte Verbindung, die den gesamten API-Schlüssel des großen Sprachmodells oder andere erforderliche Anmeldeinformationen speichert.
Wichtig
Dieser Artikel bietet Unterstützung älterer Systeme für hub-basierte Projekte. Es funktioniert nicht für Foundry-Projekte. Sehen Sie , wie Sie wissen, welche Art von Projekt Sie haben?
SDK-Kompatibilitätshinweis: Codebeispiele erfordern eine bestimmte Microsoft Foundry SDK-Version. Wenn Kompatibilitätsprobleme auftreten, sollten Sie die Migration von einem hubbasierten zu einem Foundry-Projekt in Betracht ziehen.
- Ein Azure Konto mit einem aktiven Abonnement. Wenn Sie kein Konto haben, erstellen Sie ein free Azure Konto, das ein kostenloses Testabonnement enthält.
- Wenn Sie über keins verfügen, erstellen Sie ein hubbasiertes Projekt.
Wechseln Sie zur Verwaltungscenterseite für Ihr Projekt.
Wählen Sie unter der Überschrift Hub oder ProjectConnected resources aus.
Wählen Sie +Neue Verbindung aus.
Wählen Sie "Benutzerdefinierter Dienst" aus. Sie können ihren Verbindungsnamen definieren. Wählen Sie "Schlüsselwertpaare hinzufügen " aus, um mehrere Schlüsselwertpaare hinzuzufügen, um Ihre Anmeldeinformationen und Schlüssel zu speichern.
Hinweis
Stellen Sie sicher, dass mindestens ein Schlüssel-Wert-Paar als geheim festgelegt ist. Andernfalls wird die Verbindung nicht erfolgreich erstellt. Wenn Sie ein Schlüssel-Wert-Paar als geheim festlegen möchten, wählen Sie "Geheim" aus, um den Schlüsselwert zu verschlüsseln und zu speichern.
Verwenden einer benutzerdefinierten Verbindung in Python
So verwenden Sie eine benutzerdefinierte Verbindung in Ihrem Python-Code:
- Im Codeabschnitt Ihres Python-Knotens importieren Sie die benutzerdefinierte Verbindungsbibliothek mithilfe von
from promptflow.connections import CustomConnection. Definieren Sie einen Eingabeparameter des TypsCustomConnectionin der Toolfunktion. - Analysieren Sie die Eingabe in den Eingabeabschnitt. Wählen Sie dann Ihre benutzerdefinierte Zielverbindung in der Wert-Dropdownliste aus.
Zum 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