outil Python pour les flux dans le portail Microsoft Foundry (classique)

S’applique uniquement au :Portail Foundry (classique). Cet article n’est pas disponible pour le nouveau portail Foundry. En savoir plus sur le nouveau portail.

Note

Les liens de cet article peuvent ouvrir du contenu dans la nouvelle documentation Microsoft Foundry au lieu de la documentation Foundry (classique) que vous affichez maintenant.

Avertissement

Prompt flow dans Microsoft Foundry et Azure Machine Learning sera retiré le 20 avril 2027. Prompt flow n’est plus recommandé pour les nouveaux développements. Migrez les applications et les déploiements Prompt flow existants vers Microsoft Agent Framework avant le 20 avril 2027.

Les images de conteneur de flux de requête ne reçoivent plus de mises à jour, y compris les mises à jour de sécurité et des packages. Cela s’applique aux images d’exécution de Prompt flow, y compris promptflow-runtime, promptflow-runtime-stable et promptflow-python.

Après le 20 avril 2027, Prompt flow, y compris l’expérience de création sur le web dans Microsoft Foundry et Azure Machine Learning, les extensions VS Code et les images de conteneur Prompt flow associées, ne sera plus pris en charge ou disponible.

Si votre application dépend de déploiements Prompt flow ou d’images d’exécution, prévoyez de migrer ces charges de travail vers des solutions de remplacement prises en charge, telles que Microsoft Agent Framework, avant la date de mise hors service. Pour obtenir des conseils sur la migration, consultez le guide de migration de Prompt flow et les exemples de code de migration.

Le flux d'invite de l'outil Python fournit des extraits de code personnalisés en tant que nœuds exécutables autonomes. Vous pouvez rapidement créer des outils Python, modifier du code et vérifier les résultats.

Conditions préalables

Important

Cet article décrit une prise en charge héritée des projets basés sur le hub. Elle ne fonctionnera pas pour les projets Foundry. Découvrez comment savoir quel type de projet j’ai ?

note de compatibilité SDK : les exemples de code nécessitent une version spécifique du SDK Foundry Microsoft. Si vous rencontrez des problèmes de compatibilité, envisagez de migrer d’un hub vers un projet Foundry.

Générer avec l’outil Python

  1. Créez ou ouvrez un flux dans Microsoft Foundry. Pour plus d’informations, consultez Créer un flux.

  2. Sélectionnez + Python pour ajouter l’outil Python à votre flux.

    Screenshot qui affiche l’outil Python ajouté à un flux dans le portail Foundry.

  3. Entrez des valeurs pour les paramètres d’entrée de l’outil Python décrits dans la table Inputs. Par exemple, dans la zone de texte d’entrée Code, entrez le code Python suivant :

    from promptflow import tool
    
    @tool
    def my_python_tool(message: str) -> str:
        return 'hello ' + message
    

    Pour plus d’informations, consultez exigences d'entrée de code en Python.

  4. Ajoutez d’autres outils à votre flux, selon vos besoins. Ou sélectionnez Exécuter pour exécuter le flux.

  5. Les sorties sont décrites dans la table Sorties. Basé sur le code Python de l'exemple précédent, 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. L’ajout de type(s) aux arguments et aux valeurs permet à l’outil d’afficher correctement les types.

Nom Type Description Obligatoire
Code string Extrait de code Python. Oui
Entrées - Liste des paramètres de la fonction outil et de ses affectations. -

Sorties

La sortie est la valeur return de la fonction outil Python. Par exemple, considérez la fonction d’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 de Python Description
Int param : int Type entier
bool param : bool Type booléen
string param : str Type de chaîne
double param: float Type double
Liste param : list ou param : List[T] Type de liste
Objet param : dict ou param : Dict[K, V] Type d’objet
Connexion param : CustomConnection Le type de connexion est géré spécialement.

Considérez les paramètres avec l’annotation de Connection type comme des entrées de connexion. Ce traitement signifie :

  • L'extension de flux d'invite affiche un sélecteur permettant de choisir 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 que vous transmettez.

Note

L'annotation de type Union[...] ne prend en charge que le type de connexion. Un exemple est param: Union[CustomConnection, OpenAIConnection].

exigences d’entrée de code Python

Cette section décrit les conditions requises pour l’entrée de code Python pour l’outil Python.

  • Le code de l'outil Python doit se composer de code Python complet, y compris les importations nécessaires de modules.
  • Python code d’outil doit contenir une fonction décorée avec @tool (fonction outil), servant de point d’entrée pour l’exécution. Appliquez le @tool décorateur une seule fois dans l’extrait de code.
  • Affectez les paramètres de fonction de l'outil Python dans la section Inputs.
  • Une fonction d'outil Python doit comporter une instruction de retour et une valeur, qui constitue la sortie de l’outil.

Le code Python suivant est un exemple de bonnes 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, utilisez la connexion personnalisée dans un flux d'invite. À l’aide de cette connexion, vous pouvez 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.

Important

Cet article décrit une prise en charge héritée des projets basés sur le hub. Elle ne fonctionnera pas pour les projets Foundry. Découvrez comment savoir quel type de projet j’ai ?

note de compatibilité SDK : les exemples de code nécessitent une version spécifique du SDK Foundry Microsoft. Si vous rencontrez des problèmes de compatibilité, envisagez de migrer d’un hub vers un projet Foundry.

  1. Accédez à la page Centre de gestion de votre projet.

  2. Sous le titre Hub ou Project, sélectionnez Ressources connectées.

  3. Sélectionnez + Nouvelle connexion.

  4. Sélectionnez Service personnalisé . Vous pouvez définir votre nom de connexion. Sélectionnez Ajouter des paires clé-valeur pour ajouter plusieurs paires clé-valeur pour stocker vos informations d’identification et clés.

    Note

    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. Pour définir une paire clé-valeur comme secret, sélectionnez secret pour chiffrer et stocker votre valeur de clé.

Utiliser une connexion personnalisée dans Python

Pour consommer une connexion personnalisée dans votre code Python :

  1. Dans la section code de votre nœud Python, importez la bibliothèque de connexions personnalisée à l’aide de from promptflow.connections import CustomConnection. Définissez un paramètre d’entrée du type CustomConnection dans la fonction outil.
  2. 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

Étapes suivantes