Sdílet prostřednictvím


Nástroj Python

Nástroj Python umožňuje nabízet přizpůsobené fragmenty kódu jako samostatné spustitelné uzly v toku výzvy. Můžete snadno vytvářet nástroje Pythonu, upravovat kód a ověřovat výsledky.

Vstupy

Name Typ Popis Povinní účastníci
Kód string Fragment kódu Pythonu Ano
Vstupy - Seznam parametrů funkce nástroje a jeho přiřazení -

Typy

Typ Příklad Pythonu Popis
int parametr: int Celočíselná typ
bool parametr: bool Logický typ
string param: str Typ řetězce
double parametr: float Dvojitý typ
list param: list nebo param: List[T] Typ seznamu
objekt param: dict or param: Dict[K, V] Object type
Připojení parametr: CustomConnection Typ připojení se zpracovává speciálně

Parametry s poznámkou Connection typu se považují za vstupy připojení, což znamená:

  • Rozšíření toku výzvy zobrazuje selektor pro výběr připojení.
  • Během provádění se tok výzvy pokusí najít připojení se stejným názvem z hodnoty parametru předaného.

Poznámka:

Poznámka Union[...] k typu je podporována pouze pro typ připojení, param: Union[CustomConnection, OpenAIConnection]například .

Výstupy

Výstupy jsou návrat funkce nástroje Python.

Psaní pomocí nástroje Python

Pomocí následujících pokynů můžete psát pomocí nástroje Python.

Pokyny

  • Kód nástroje Python by se měl skládat z kompletního kódu Pythonu, včetně všech potřebných importů modulů.

  • Kód nástroje Python musí obsahovat funkci zdobenou @tool (funkcí nástroje), která slouží jako vstupní bod pro provádění. @tool Dekorátor použijte pouze jednou v rámci fragmentu kódu.

    Ukázka v další části definuje nástroj my_python_toolPython , který je zdobený @tool.

  • Parametry funkce nástroje Python musí být přiřazeny Inputs v části.

    Ukázka v další části definuje vstup message a přiřadí ho world.

  • Funkce nástroje Python má návrat.

    Ukázka v další části vrátí zřetězený řetězec.

Kód

Následující fragment kódu ukazuje základní strukturu funkce nástroje. Tok výzvy přečte funkci a extrahuje vstupy z parametrů funkce a poznámek k typům.

from promptflow import tool
from promptflow.connections import CustomConnection

# The inputs section will change based on the arguments of the tool function, after you save the code
# Adding type to arguments and return value will help the system show the types properly
# Please update the function name/signature per need
@tool
def my_python_tool(message: str, my_conn: CustomConnection) -> str:
    my_conn_dict = dict(my_conn)
    # Do some function call with my_conn_dict...
    return 'hello ' + message

Vstupy

Name Type Ukázková hodnota v YAML toku Hodnota předaná funkci
zpráva string world world
my_conn CustomConnection my_conn CustomConnection objekt

Tok výzvy se pokusí najít připojení pojmenované my_conn během doby provádění.

Výstupy

"hello world"

Vlastní připojení v nástroji Python

Pokud vyvíjíte nástroj Pythonu, který vyžaduje volání externích služeb s ověřováním, použijte vlastní připojení v toku výzvy. Můžete ho použít k bezpečnému uložení přístupového klíče a jeho následnému načtení do kódu Pythonu.

Vytvoření vlastního připojení

Vytvořte vlastní připojení, které ukládá všechny klíče rozhraní API pro velký jazykový model nebo jiné požadované přihlašovací údaje.

  1. Přejděte na tok výzvy v pracovním prostoru a pak přejděte na kartu Připojení .

  2. Vyberte Vytvořit>vlastní.

    Snímek obrazovky znázorňující toky na kartě Připojení se zvýrazněným tlačítkem Vlastní v rozevírací nabídce

  3. V pravém podokně můžete definovat název připojení. Výběrem možnosti Přidat páry klíč-hodnota můžete přidat několik párů klíč-hodnota pro uložení přihlašovacích údajů a klíčů.

    Snímek obrazovky znázorňující přidání vlastního spojovacího bodu a tlačítka Přidat páry klíč-hodnota

Poznámka:

Pokud chcete nastavit jeden pár klíč-hodnota jako tajný klíč, zaškrtněte políčko Je tajný kód. Tato možnost šifruje a ukládá hodnotu klíče. Ujistěte se, že je nastavený alespoň jeden pár klíč-hodnota jako tajný klíč. V opačném případě se připojení úspěšně nevytvořilo.

Použití vlastního připojení v Pythonu

Použití vlastního připojení v kódu Pythonu:

  1. V části kódu v uzlu Pythonu naimportujte vlastní knihovnu from promptflow.connections import CustomConnectionpřipojení . Definujte vstupní parametr typu CustomConnection ve funkci nástroje.

    Snímek obrazovky znázorňující uzel řetězce vyhledávání na webu doc, který zvýrazňuje vlastní připojení

  2. Parsujte vstup do vstupního oddílu a v rozevíracím seznamu Hodnota vyberte cílové vlastní připojení.

    Snímek obrazovky znázorňující uzel řetězu, který zvýrazňuje připojení

Příklad:

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