Megosztás a következőn keresztül:


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 azt world.

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

  1. Nyissa meg a folyamat kérését a munkaterületen, majd lépjen a Kapcsolatok lapra.

  2. Válassza az Egyéni létrehozása lehetőséget>.

    Képernyőkép a folyamatokról a Kapcsolatok lapon, kiemelve az Egyéni gombot a legördülő menüben.

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

    Képernyőkép egy egyéni csatlakozási pont hozzáadásáról és a Kulcs-érték párok hozzáadása gombról.

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:

  1. A Python-csomópont kódszakaszában importálja az egyéni kapcsolattárat from promptflow.connections import CustomConnection. Adja meg az CustomConnection eszközfüggvény típusának bemeneti paraméterét.

    Képernyőkép az egyéni kapcsolatot kiemelő dokumentumkeresési lánccsomópontról.

  2. Elemezheti a bemeneti szakasz bemenetét, majd válassza ki a cél egyéni kapcsolatot az Érték legördülő menüben.

    A kapcsolatot kiemelő lánccsomópont képernyőképe.

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