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
@tool
dekore edilmiş Python aracınımy_python_tool
tanı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 atarworld
.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.
Çalışma alanınızdaki akış istemine gidin ve ardından Bağlantılar sekmesine gidin.
Özel Oluştur'u>seçin.
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.
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:
Python düğümünüzün kod bölümünde özel bağlantı kitaplığını
from promptflow.connections import CustomConnection
içeri aktarın. Araç işlevinde türüneCustomConnection
ait bir giriş parametresi tanımlayın.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.
Ö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