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.
Warnung
Die Entwicklung der Prompt Flow-Funktion endete am 20. April 2026. Das Feature wird am 20. April 2027 vollständig eingestellt. Am Rentenbeginn geht Prompt Flow in den schreibgeschützten Modus über. Ihre vorhandenen Abläufe werden bis zu diesem Datum weiterhin funktionieren.
Recommended action: Migrieren Sie Ihre Aufforderungsflussworkloads zu Microsoft Agent Framework vor dem 20. April 2027.
Mit dem tool Python können Sie benutzerdefinierte Codeausschnitte als eigenständige ausführbare Knoten im Eingabeaufforderungsfluss erstellen. Sie können ganz einfach Python Tools erstellen, Code bearbeiten und Ergebnisse überprüfen.
Inputs
| Name | Type | Description | Required |
|---|---|---|---|
| Code | string | codeausschnitt Python | Yes |
| Inputs | - | Liste der Toolfunktionsparameter und deren Zuweisungen | - |
Types
| Type | beispiel für Python | Description |
|---|---|---|
| int | param: int | Ganzzahltyp |
| bool | param: bool | BOOLEAN-Typ |
| string | param: str | Zeichenfolgentyp |
| double | param: float | Doppeltyp |
| list | param: List oder Param: List[T] | Listentyp |
| object | Param: Diktat oder Param: Dict[K, V] | Objekttyp |
| Connection | param: CustomConnection | Der Verbindungstyp wird speziell behandelt. |
Parameter mit der Connection Typanmerkung werden als Verbindungseingaben behandelt, was bedeutet:
- Die Eingabeaufforderungsflusserweiterung zeigt eine Auswahl an, um die Verbindung auszuwählen.
- Während der Ausführung versucht der Eingabeaufforderungsfluss, die Verbindung mit demselben Namen aus dem übergebenen Parameterwert zu finden.
Note
Die Union[...] Typanmerkung wird nur für den Verbindungstyp unterstützt, param: Union[CustomConnection, OpenAIConnection]z. B. .
Outputs
Die Ausgaben sind der Rückgabewert der Python Toolfunktion.
Schreiben mit dem tool Python
Verwenden Sie beim Schreiben mit dem Python Tool die folgenden Richtlinien.
Guidelines
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, die als Einstiegspunkt für die Ausführung dient. Wenden Sie den@toolDekorateur nur einmal innerhalb des Codeausschnitts an.Im folgenden Beispiel wird das Python Tool
my_python_tooldefiniert, das mit@toolversehen ist.Python Parameter der Toolfunktion müssen im Abschnitt
Inputszugewiesen werden.Im folgenden Beispiel wird die Eingabe
messagedefiniert und zugewiesenworld.Eine Python Toolfunktion muss einen Rückgabewert aufweisen.
Im folgenden Beispiel wird eine verkettete Zeichenfolge zurückgegeben.
Code
Der folgende Codeausschnitt zeigt die grundlegende Struktur einer Toolfunktion. Der Eingabeaufforderungsfluss liest die Funktion und extrahiert Eingaben aus Funktionsparametern und Typanmerkungen.
from promptflow import tool
from promptflow.connections import CustomConnection
# The inputs section will change based on the arguments of the tool function, after you save the code
# Adding type to arguments and return value will help the system show the types properly
# Please update the function name/signature per need
@tool
def my_python_tool(message: str, my_conn: CustomConnection) -> str:
my_conn_dict = dict(my_conn)
# Do some function call with my_conn_dict...
return 'hello ' + message
Inputs
| Name | Type | Beispielwert im Fluss YAML | Wert, der an die Funktion übergeben wird |
|---|---|---|---|
| message | string | world |
world |
| my_conn | CustomConnection |
my_conn |
CustomConnection-Objekt |
Der Aufforderungsfluss versucht, die während der Ausführung benannte my_conn Verbindung zu finden.
Outputs
"hello world"
Aufrufen eines Begründungsmodells aus dem tool Python
Wenn Sie Begründungsmodelle aufrufen müssen, die der LLM-Knoten nicht unterstützt, können Sie das Python Tool verwenden, um die Modelle direkt aufzurufen. Das folgende Beispiel zeigt, wie Sie ein Grundmodell aus dem tool Python aufrufen.
from promptflow import tool
from promptflow.connections import AzureOpenAIConnection
from openai import AzureOpenAI
@tool
def my_python_tool(
OpenAIConnection: AzureOpenAIConnection,
scope_reply: str
):
model_name = "o3-mini"
deployment = "o3-mini"
print(OpenAIConnection['api_base'])
endpoint = OpenAIConnection['api_base'] #"https://<your endpoint>.openai.azure.com/"
model_name = "o3-mini" #your model name
deployment = "o3-mini" #your deployment name
subscription_key = OpenAIConnection['api_key']
api_version = "2024-12-01-preview" #Supply an API version that supports reasoning models.
client = AzureOpenAI(
api_version=api_version,
azure_endpoint=endpoint,
api_key=subscription_key,
)
response = client.chat.completions.create(
messages=[
{
"role": "system",
"content": "You are a helpful assistant.",
},
{
"role": "user",
"content": "I am going to Paris, what should I see?",
}
],
max_completion_tokens=100000,
model=deployment
)
return response.choices[0].message.content
Benutzerdefinierte Verbindung im Python-Tool
Wenn Sie ein Python Tool entwickeln, das externe Dienste mit Authentifizierung aufruft, verwenden Sie die benutzerdefinierte Verbindung im Eingabeaufforderungsfluss. Sie können ihn verwenden, um den Zugriffsschlüssel sicher zu speichern und dann in Ihrem Python Code abzurufen.
Erstellen einer benutzerdefinierten Verbindung
Erstellen Sie eine benutzerdefinierte Verbindung, die alle API-Schlüssel des großen Sprachmodells oder andere erforderliche Anmeldeinformationen speichert.
Wechseln Sie zum Eingabeaufforderungsfluss in Ihrem Arbeitsbereich, und wählen Sie dann die Registerkarte "Verbindungen " aus.
Wählen Sie"Benutzerdefinierterstellen>" aus.
Im rechten Bereich können Sie 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.
Note
Wenn Sie ein Schlüssel-Wert-Paar als geheim festlegen möchten, aktivieren Sie das Kontrollkästchen "Geheim" . Diese Option verschlüsselt und speichert Ihren Schlüsselwert. Stellen Sie sicher, dass mindestens ein Schlüssel-Wert-Paar als geheim festgelegt ist. Andernfalls wird die Verbindung nicht erfolgreich erstellt.
Verwenden einer benutzerdefinierten Verbindung in Python
So verwenden 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 TypsCustomConnectionin der Toolfunktion.Analysieren Sie die Eingabe im Eingabeabschnitt, und wählen Sie dann die 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