Python-eszköz
A Python-eszköz lehetővé teszi, hogy testreszabott kódrészleteket kínáljon önálló végrehajtható csomópontként a parancssori folyamatban. Könnyedén létrehozhat Python-eszközöket, szerkesztheti a kódot, és ellenőrizheti az eredményeket.
Bevitelek
Név | Típus | Leírás | Kötelező |
---|---|---|---|
Kód | húr | Python-kódrészlet | Igen |
Bevitelek | - | Az eszközfüggvény paramétereinek és hozzárendeléseinek listája | - |
Típusok
Típus | Python-példa | Leírás |
---|---|---|
egész | param: int | Egész szám típusa |
logikai | param: bool | Logikai típus |
húr | param: str | Sztring típusa |
double | param: float | Dupla típus |
list | param: list vagy param: List[T] | Lista típusa |
object | param: dict vagy param: Dict[K, V] | Objektumtípus |
Kapcsolat | param: CustomConnection | A kapcsolattípus speciálisan van kezelve |
A típusjegyzetet tartalmazó Connection
paraméterek kapcsolati bemenetként vannak kezelve, ami azt jelenti, hogy:
- A parancssori folyamat bővítménye egy választót jelenít meg a kapcsolat kiválasztásához.
- A végrehajtási idő alatt a parancssori folyamat megpróbálja megkeresni a kapcsolatot ugyanazzal a névvel a megadott paraméterértékből.
Feljegyzés
A Union[...]
típusjegyzet csak a kapcsolattípus esetében támogatott, példáulparam: Union[CustomConnection, OpenAIConnection]
.
Kimenetek
A kimenetek a Python eszközfüggvény visszatérési értéke.
Írás a Python-eszközzel
A Python-eszközzel az alábbi irányelveket követve írhat.
Irányelvek
A Python-eszközkódnak teljes Python-kódból kell állnia, beleértve a szükséges modulimportálásokat is.
A Python-eszközkódnak tartalmaznia kell egy (eszközfüggvény) kitüntetett
@tool
függvényt, amely a végrehajtás belépési pontjaként szolgál. A dekorátort@tool
csak egyszer alkalmazza a kódrészleten belül.A következő szakaszban szereplő minta határozza meg a Python eszközt
my_python_tool
, amelyet a rendszer díszít@tool
.A Python-eszközfüggvény paramétereit a
Inputs
szakaszban kell hozzárendelni.A következő szakaszban szereplő minta határozza meg a bemenetet
message
, és hozzárendeli aztworld
.A Python-eszközfüggvények visszatérési értéket adnak.
A következő szakaszban szereplő minta egy összefűzött sztringet ad vissza.
Kód
Az alábbi kódrészlet egy eszközfüggvény alapstruktúráját mutatja be. A parancssori folyamat beolvassa a függvényt, és kinyeri a bemeneteket a függvényparaméterekből, és begépeli a széljegyzeteket.
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
Bevitelek
Név | Típus | Mintaérték a FOLYAMAT YAML-ben | Függvénynek átadott érték |
---|---|---|---|
üzenet | húr | world |
world |
my_conn | CustomConnection |
my_conn |
CustomConnection tárgy |
A parancssori folyamat megpróbálja megtalálni a végrehajtási idő alatt elnevezett my_conn
kapcsolatot.
Kimenetek
"hello world"
Egyéni kapcsolat a Python-eszközben
Ha olyan Python-eszközt fejleszt, amely külső szolgáltatásokat igényel hitelesítéssel, használja az egyéni kapcsolatot a parancssori folyamatban. Segítségével biztonságosan tárolhatja a hozzáférési kulcsot, majd lekérheti a Python-kódban.
Egyéni kapcsolat létrehozása
Hozzon létre egy egyéni kapcsolatot, amely az összes nagy nyelvi modell API-kulcsát vagy más szükséges hitelesítő adatait tárolja.
Nyissa meg a folyamat kérését a munkaterületen, majd lépjen a Kapcsolatok lapra.
Válassza az Egyéni létrehozása lehetőséget>.
A jobb oldali panelen megadhatja a kapcsolat nevét. A hitelesítő adatok és kulcsok tárolásához több kulcs-érték pár is hozzáadható a Kulcs-érték párok hozzáadása lehetőség kiválasztásával.
Feljegyzés
Ha titkos kulcs-érték párokat szeretne beállítani, jelölje be a Titkos kulcs jelölőnégyzetet. Ez a beállítás titkosítja és tárolja a kulcs értékét. Győződjön meg arról, hogy legalább egy kulcs-érték pár titkosként van beállítva. Ellenkező esetben a kapcsolat nem jön létre sikeresen.
Egyéni kapcsolat használata a Pythonban
Egyéni kapcsolat használata a Python-kódban:
A Python-csomópont kódszakaszában importálja az egyéni kapcsolattárat
from promptflow.connections import CustomConnection
. Adja meg azCustomConnection
eszközfüggvény típusának bemeneti paraméterét.Elemezheti a bemeneti szakasz bemenetét, majd válassza ki a cél egyéni kapcsolatot az Érték legördülő menüben.
Példa:
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