Dela via


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

  1. Skapa eller öppna ett flöde i Azure AI Foundry. Mer information finns i Skapa ett flöde.

  2. Välj + Python för att lägga till Python-verktyget i flödet.

    Skärmbild som visar Python-verktyget som lagts till i ett flöde i Azure AI Foundry-portalen.

  3. 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.

  4. Lägg till fler verktyg i ditt flöde efter behov. Eller välj Kör för att köra flödet.

  5. Utdata beskrivs i tabellen Utdata. Om indatameddelandet är "world" är utdata hello worldbaserat 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 worldutdata .

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.

  1. Gå till sidan Hanteringscenter för projektet.

  2. Under rubriken Hubb eller Projekt väljer du Anslutna resurser.

  3. Välj + Ny anslutning.

  4. 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:

  1. I kodavsnittet i python-noden importerar du det anpassade anslutningsbiblioteket from promptflow.connections import CustomConnection. Definiera en indataparameter av typen CustomConnection i verktygsfunktionen.
  2. 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

Nästa steg