Python-verktyg för flöden i Azure AI Foundry-portalen
Viktigt!
Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Python-verktyget promptflöde erbjuder anpassade kodfragment som fristående körbara noder. Du kan snabbt skapa Python-verktyg, redigera kod och verifiera resultat.
Skapa med Python-verktyget
Skapa eller öppna ett flöde i Azure AI Foundry. Mer information finns i Skapa ett flöde.
Välj + Python för att lägga till Python-verktyget i flödet.
Ange värden för indataparametrarna för Python-verktyget som beskrivs i tabellen Indata. I textrutan Kodinmatning kan du till exempel ange följande Python-kod:
from promptflow import tool @tool def my_python_tool(message: str) -> str: return 'hello ' + message
Mer information finns i Indatakrav för Python-kod.
Lägg till fler verktyg i ditt flöde efter behov. Eller välj Kör för att köra flödet.
Utdata beskrivs i tabellen Utdata. Om indatameddelandet är "world" är utdata
hello world
baserat på föregående exempel python-kodindata.
Indata
Listan över indata ändras baserat på argumenten i verktygsfunktionen när du har sparat koden. Genom att lägga till typ i argument och return
värden kan verktyget visa typerna korrekt.
Namn | Type | Beskrivning | Obligatoriskt |
---|---|---|---|
Kod | sträng | Python-kodfragmentet. | Ja |
Indata | - | Listan över verktygsfunktionsparametrarna och dess tilldelningar. | - |
Utdata
Utdata är värdet för return
Python-verktygsfunktionen. Tänk till exempel på följande Python-verktygsfunktion:
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Om indatameddelandet är "world" är hello world
utdata .
Typer
Typ | Python-exempel | beskrivning |
---|---|---|
heltal | param: int | Heltalstyp |
bool | param: bool | Boolesk typ |
sträng | param: str | Strängtyp |
dubbel | param: float | Dubbel typ |
lista | param: list eller param: List[T] | Listtyp |
objekt | param: dict eller param: Dict[K, V] | Object type |
Connection | param: CustomConnection | Anslutningstypen hanteras särskilt. |
Parametrar med Connection
typanteckning behandlas som anslutningsindata, vilket innebär:
- Tillägg för promptflöde visar en väljare för att välja anslutningen.
- Under körningstiden försöker promptflödet hitta anslutningen med samma namn från parametervärdet som skickades in.
Kommentar
Typanteckningen Union[...]
stöds endast för anslutningstyp. Ett exempel är param: Union[CustomConnection, OpenAIConnection]
.
Indatakrav för Python-kod
I det här avsnittet beskrivs kraven för Python-kodindata för Python-verktyget.
- Python-verktygskoden bör bestå av en fullständig Python-kod, inklusive alla nödvändiga modulimporter.
- Python-verktygskoden måste innehålla en funktion som är dekorerad med
@tool
(verktygsfunktionen) och fungera som startpunkt för körning. Dekoratören@tool
ska endast tillämpas en gång i kodfragmentet. - Funktionsparametrar för Python-verktyget måste tilldelas i avsnittet
Inputs
. - Python-verktygsfunktionen ska ha en retursats och ett värde, vilket är verktygets utdata.
Följande Python-kod är ett exempel på metodtips:
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Använda en anpassad anslutning i Python-verktyget
Om du utvecklar ett Python-verktyg som kräver att externa tjänster anropas med autentisering kan du använda den anpassade anslutningen i ett promptflöde. Med den kan du lagra åtkomstnyckeln på ett säkert sätt och sedan hämta den i Python-koden.
Skapa en anpassad anslutning
Skapa en anpassad anslutning som lagrar alla dina API-nycklar för stora språkmodeller eller andra nödvändiga autentiseringsuppgifter.
Gå till sidan Hanteringscenter för projektet.
Under rubriken Hubb eller Projekt väljer du Anslutna resurser.
Välj + Ny anslutning.
Välj Anpassad tjänst. Du kan definiera anslutningsnamnet. Du kan lägga till flera nyckel/värde-par för att lagra dina autentiseringsuppgifter och nycklar genom att välja Lägg till nyckel/värde-par.
Kommentar
Kontrollera att minst ett nyckel/värde-par har angetts som hemlighet. Annars skapas inte anslutningen. Om du vill ange ett nyckel/värde-par som hemlighet väljer du är hemlighet för att kryptera och lagra nyckelvärdet.
Använda en anpassad anslutning i Python
Så här använder du en anpassad anslutning i Python-koden:
- I kodavsnittet i python-noden importerar du det anpassade anslutningsbiblioteket
from promptflow.connections import CustomConnection
. Definiera en indataparameter av typenCustomConnection
i verktygsfunktionen. - Parsa indata till indataavsnittet. Välj sedan din anpassade målanslutning i listrutan värde.
Till exempel:
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