Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Ingångar
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 | Typ | Beskrivning | Krävs |
---|---|---|---|
Kod | snöre | Python-kodfragmentet. | Ja |
Ingångar | - | 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 |
---|---|---|
Int | param: int | Heltalstyp |
Bool | param: bool | Boolesk datatyp |
snöre | param: str | Strängtyp |
dubbel | param: float | Dubbeltyp |
lista | param: list eller param: List[T] | Listtyp |
objekt | param: dict eller param: Dict[K, V] | Objekttyp |
Anslutning | 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.
Anmärkning
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.
Anmärkning
Du måste använda ett hubbbaserat projekt för den här funktionen. Ett Foundry-projekt stöds inte. Se Hur vet jag vilken typ av projekt jag har? och Skapa ett hubbbaserat projekt.
- Ett Azure-abonnemang. Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.
- Om du inte har något skapar du ett hubbbaserat projekt.
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.
Anmärkning
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