Share 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 Projektinställningar. 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.

    Skärmbild som visar hur du skapar en anslutning i AI Studio.

  3. Lägg till följande anpassade nycklar i anslutningen:

    • azureml.flow.connection_type: Custom
    • azureml.flow.module: promptflow.connections

    Skärmbild som visar hur du lägger till extra information i en anpassad anslutning i AI Studio.

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