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_tool
Python , 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í howorld
.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.
Přejděte na tok výzvy v pracovním prostoru a pak přejděte na kartu Připojení .
Vyberte Vytvořit>vlastní.
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íčů.
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:
V části kódu v uzlu Pythonu naimportujte vlastní knihovnu
from promptflow.connections import CustomConnection
připojení . Definujte vstupní parametr typuCustomConnection
ve funkci nástroje.Parsujte vstup do vstupního oddílu a v rozevíracím seznamu Hodnota vyberte cílové vlastní 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