Aracılığıyla paylaş


Python aracı

Python aracı, özelleştirilmiş kod parçacıklarının istem akışında bağımsız yürütülebilir düğümler olarak sunulmasını sağlar. Kolayca Python araçları oluşturabilir, kodu düzenleyebilir ve sonuçları doğrulayabilirsiniz.

Girişler

Adı Tür Açıklama Gerekli
Kod Dize Python kod parçacığı Yes
Girişler - Araç işlevi parametrelerinin ve atamalarının listesi -

Türler

Tür Python örneği Açıklama
int param: int Tamsayı türü
ikili param: bool Boole türü
Dize param: str Dize türü
çift param: float Çift tür
listele param: list veya param: List[T] Liste türü
nesne param: dict veya param: Dict[K, V] Object type
Bağlantı param: CustomConnection Bağlantı türü özel olarak işlenir

Tür ek açıklamasına Connection sahip parametreler bağlantı girişi olarak değerlendirilir; bu da şu anlama gelir:

  • İstem akışı uzantısı, bağlantıyı seçmek için bir seçici gösterir.
  • Yürütme sırasında, istem akışı geçirilen parametre değerinden aynı ada sahip bağlantıyı bulmaya çalışır.

Not

Tür Union[...] ek açıklaması yalnızca bağlantı türü için desteklenir, örneğin, param: Union[CustomConnection, OpenAIConnection].

Çıkışlar

Çıkışlar, Python araç işlevinin döndürülmesidir.

Python aracıyla yazma

Python aracıyla yazmak için aşağıdaki yönergeleri kullanın.

Yönergeler

  • Python araç kodu, gerekli modül içeri aktarmaları da dahil olmak üzere eksiksiz Python kodundan oluşmalıdır.

  • Python araç kodu, yürütme için giriş noktası olarak görev yapan (araç işlevi) ile @tool süslenmiş bir işlev içermelidir. @tool Dekoratörü kod parçacığı içinde yalnızca bir kez uygulayın.

    Sonraki bölümdeki örnek, ile @tooldekore edilmiş Python aracını my_python_tooltanımlar.

  • Bölümünde Python aracı işlev parametreleri atanmalıdır Inputs .

    Sonraki bölümdeki örnek girişi message tanımlar ve atar world.

  • Python araç işlevinin bir getirisi vardır.

    Sonraki bölümdeki örnek, birleştirilmiş bir dize döndürür.

Kod

Aşağıdaki kod parçacığı bir araç işlevinin temel yapısını gösterir. İstem akışı işlevi okur ve işlev parametrelerinden ve tür ek açıklamalarından girişleri ayıklar.

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

Girişler

Adı Tip Akış YAML'deki örnek değer İşleve geçirilen değer
ileti Dize world world
my_conn CustomConnection my_conn CustomConnection nesne

komut istemi akışı, yürütme sırasında adlı my_conn bağlantıyı bulmaya çalışır.

Çıkışlar

"hello world"

Python aracında özel bağlantı

Kimlik doğrulamasıyla dış hizmetleri çağırmayı gerektiren bir Python aracı geliştiriyorsanız, istem akışında özel bağlantıyı kullanın. Erişim anahtarını güvenli bir şekilde depolamak ve ardından Python kodunuzda almak için kullanabilirsiniz.

Özel bağlantı oluşturma

Tüm büyük dil modeli API anahtarınızı veya diğer gerekli kimlik bilgilerini depolayan özel bir bağlantı oluşturun.

  1. Çalışma alanınızdaki akış istemine gidin ve ardından Bağlantılar sekmesine gidin.

  2. Özel Oluştur'u>seçin.

    Bağlantılar sekmesinde, açılan menüde Özel düğmesini vurgulayan akışları gösteren ekran görüntüsü.

  3. Sağ bölmede bağlantı adınızı tanımlayabilirsiniz. Anahtar-değer çiftleri ekle'yi seçerek kimlik bilgilerinizi ve anahtarlarınızı depolamak için birden çok anahtar-değer çifti ekleyebilirsiniz.

    Özel bağlantı noktası eklemeyi ve Anahtar-değer çiftleri ekle düğmesini gösteren ekran görüntüsü.

Not

Bir anahtar-değer çiftini gizli dizi olarak ayarlamak için Gizli dizidir onay kutusunu seçin. Bu seçenek anahtar değerinizi şifreler ve depolar. En az bir anahtar-değer çifti'nin gizli dizi olarak ayarlandığından emin olun. Aksi takdirde, bağlantı başarıyla oluşturulmaz.

Python'da özel bağlantı kullanma

Python kodunuzda özel bağlantı kullanmak için:

  1. Python düğümünüzün kod bölümünde özel bağlantı kitaplığını from promptflow.connections import CustomConnectioniçeri aktarın. Araç işlevinde türüne CustomConnection ait bir giriş parametresi tanımlayın.

    Özel bağlantıyı vurgulayan belge arama zinciri düğümünü gösteren ekran görüntüsü.

  2. Girişi giriş bölümüne ayrıştırın ve ardından Değer açılan listesinden hedef özel bağlantınızı seçin.

    Bağlantıyı vurgulayan zincir düğümünü gösteren ekran görüntüsü.

Örnek:

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