Dela via


Python-verktyg för flöden i Azure AI Studio

Viktigt!

Vissa av de funktioner som beskrivs i den här artikeln kanske bara är tillgängliga i förhandsversionen. 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 Studio. 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 Studio.

  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.

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

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: Anpassad Anslut ion Anslut ionstyp 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.

  1. Gå till sidan Inställningar för projektet. Välj sedan + Ny Anslut ion.

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

  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