Outil Python
L’outil Python vous permet d’offrir des extraits de code personnalisés en tant que nœuds exécutables autonomes dans le flux d’invite. Vous pouvez facilement créer des outils Python, modifier du code et vérifier les résultats.
Entrées
Nom | Type | Description | Obligatoire |
---|---|---|---|
Code | string | Extrait de code Python | Oui |
Entrées | - | Liste des paramètres de la fonction d’outil et de ses affectations | - |
Types
Type | Exemple Python | Description |
---|---|---|
int | param : int | Type entier |
bool | param : bool | Boolean, type |
string | param : str | String, type |
double | param : float | Double, type |
list | param : list ou param : List[T] | Type de liste |
object | param : dict ou param : Dict[K, V] | Type d'objet |
Connection | param : CustomConnection | Connecter type d’ion est géré spécialement |
Les paramètres avec l’annotation de Connection
type sont traités comme des entrées de connexion, ce qui signifie :
- L’extension de flux d’invite affiche un sélecteur pour sélectionner la connexion.
- Pendant l’exécution, le flux d’invite tente de trouver la connexion portant le même nom que la valeur du paramètre passée.
Remarque
L’annotation de Union[...]
type est prise en charge uniquement pour le type de connexion, par exemple param: Union[CustomConnection, OpenAIConnection]
.
Sorties
Les sorties sont le retour de la fonction outil Python.
Écrire avec l’outil Python
Utilisez les instructions suivantes pour écrire avec l’outil Python.
Consignes
Le code de l’outil Python doit se composer de code Python complet, y compris les importations de modules nécessaires.
Le code de l’outil Python doit contenir une fonction décorée avec
@tool
(fonction outil), qui sert de point d’entrée pour l’exécution. Appliquez le@tool
décorateur une seule fois dans l’extrait de code.L’exemple de la section suivante définit l’outil
my_python_tool
Python, qui est décoré avec@tool
.Les paramètres de fonction d’outil Python doivent être attribués dans la
Inputs
section.L’exemple de la section suivante définit l’entrée
message
et l’affecteworld
.Une fonction d’outil Python a un retour.
L’exemple de la section suivante retourne une chaîne concaténée.
Code
L’extrait de code suivant montre la structure de base d’une fonction d’outil. Le flux d’invite lit la fonction et extrait les entrées des paramètres de fonction et des annotations de type.
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
Entrées
Nom | Type | Exemple de valeur dans le flux YAML | Valeur passée à la fonction |
---|---|---|---|
message | string | world |
world |
my_conn | CustomConnection |
my_conn |
l'objet CustomConnection |
Le flux d’invite tente de trouver la connexion nommée my_conn
pendant l’exécution.
Sorties
"hello world"
Connexion personnalisée dans l’outil Python
Si vous développez un outil Python qui nécessite l’appel de services externes avec authentification, utilisez la connexion personnalisée dans le flux d’invite. Vous pouvez l’utiliser pour stocker en toute sécurité la clé d’accès, puis la récupérer dans votre code Python.
Créer une connexion personnalisée
Créez une connexion personnalisée qui stocke toutes vos clés API de modèle de langage volumineux ou d’autres informations d’identification requises.
Accédez au flux d’invite dans votre espace de travail, puis accédez à l’onglet Connecter ions.
Sélectionnez Créer>personnalisé.
Dans le volet droit, vous pouvez définir votre nom de connexion. Vous pouvez ajouter plusieurs paires clé-valeur pour stocker vos informations d’identification et clés en sélectionnant Ajouter des paires clé-valeur.
Remarque
Pour définir une paire clé-valeur comme secret, sélectionnez la clé secrète case activée box. Cette option chiffre et stocke votre valeur de clé. Assurez-vous qu’au moins une paire clé-valeur est définie comme secret. Sinon, la connexion n’est pas créée avec succès.
Utiliser une connexion personnalisée dans Python
Pour utiliser une connexion personnalisée dans votre code Python :
Dans la section code de votre nœud Python, importez la bibliothèque
from promptflow.connections import CustomConnection
de connexions personnalisée. Définissez un paramètre d’entrée du typeCustomConnection
dans la fonction outil.Analysez l’entrée dans la section d’entrée, puis sélectionnez votre connexion personnalisée cible dans la liste déroulante Valeur .
Par exemple :
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour