Outil Python pour les flux dans Azure AI Studio
Important
Les éléments marqués (préversion) dans cet article sont actuellement en préversion publique. Cette préversion est fournie sans contrat de niveau de service, nous la déconseillons dans des charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
L’outil de flux rapide Python permet aux utilisateurs de proposer des extraits de code personnalisés sous forme de nœuds exécutables autonomes dans le flux d’invite. Vous pouvez créer des outils Python, modifier du code et vérifier les résultats en toute simplicité.
Générez avec l’outil Python
Créez ou ouvrez un flux dans Azure AI Studio. Pour obtenir plus d’informations, consultez l’article Créer un flux.
Sélectionnez + Python pour ajouter l’outil Python à votre flux.
Entrez des valeurs pour les paramètres d’entrée de l’outil Python décrits dans la table Entrées. Par exemple, dans la zone de texte d’entrée Code, vous pouvez entrer le code Python suivant :
from promptflow import tool @tool def my_python_tool(message: str) -> str: return 'hello ' + message
Pour plus d’informations, consultez Conditions requises pour l’entrée du code Python.
Ajoutez d’autres outils à votre flux, selon vos besoins. Ou sélectionnez Exécuter pour exécuter le flux.
Les sorties sont décrites dans la table Sorties. Sur la base de l’exemple précédent d’entrée de code Python, si le message d’entrée est « world », la sortie est
hello world
.
Entrées
La liste des entrées change en fonction des arguments de la fonction outil, après avoir enregistré le code. Ajouter un type aux arguments et aux valeurs return
aide l’outil à afficher correctement les types.
Nom | Type | Description | Obligatoire |
---|---|---|---|
Code | string | L’extrait de code Python. | Oui |
Entrées | - | La liste des paramètres de la fonction outil et de ses affectations. | - |
Outputs
La sortie est la valeur return
de la fonction outil Python. Par exemple, considérez la fonction outil Python suivante :
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Si le message d’entrée est « world », la sortie est hello world
.
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 |
Connexion | param : CustomConnection | Le type de connexion est géré spécialement. |
Les paramètres avec l’annotation de type Connection
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 qui a été transmise.
Remarque
L’annotation de type Union[...]
n’est prise en charge que pour le type de connexion. par exemple param: Union[CustomConnection, OpenAIConnection]
.
Exigences d’entrée du code Python
Cette section décrit les exigences de l’entrée de code Python pour l’outil Python.
- Le code de l’outil Python doit se composer d’un code Python complet, incluant toutes les importations de module 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. Le décorateur@tool
ne doit être appliqué qu’une seule fois dans l’extrait de code. - Les paramètres de la fonction outil Python doivent être attribués dans la section
Inputs
. - La fonction outil Python doit avoir une instruction et une valeur renvoyée, qui est la sortie de l’outil.
Le code Python suivant est un exemple de meilleures pratiques :
from promptflow import tool
@tool
def my_python_tool(message: str) -> str:
return 'hello ' + message
Utiliser une connexion personnalisée dans l’outil Python
Si vous développez un outil Python qui nécessite l’appel de services externes avec authentification, vous pouvez utiliser la connexion personnalisée dans un flux d’invite. Cela vous permet de stocker en toute sécurité la clé d’accès, puis de la récupérer dans votre code Python.
Créer une connexion personnalisée
Créer une connexion personnalisée qui stocke toutes les clés d’API de votre grand modèle de langage ou d’autres informations d’identification requises.
Accédez à la page Centre de gestion de votre projet.
Sous le titre Hub ou Projet, sélectionnez Ressources connectées.
Cliquez sur + Nouvelle connexion.
Sélectionnez le service Personnalisé. Vous pouvez définir le nom de votre connexion. Vous pouvez ajouter plusieurs paires clé-valeur pour stocker vos informations d’identification et vos clés en sélectionnant Ajouter des paires clé-valeur.
Remarque
Assurez-vous qu’au moins une paire clé-valeur est définie comme secret. Sinon, la connexion ne sera pas créée avec succès. Pour définir une paire clé-valeur comme secret, sélectionnez est secret pour chiffrer et stocker votre valeur de clé.
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 de connexions personnalisées
from promptflow.connections import CustomConnection
. Définissez un paramètre d’entrée du typeCustomConnection
dans la fonction outil. - Analysez l’entrée dans la section d’entrée. Sélectionnez ensuite votre connexion personnalisée cible dans la liste déroulante des valeurs.
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