Partager via


Créer une application de conversation de base dans Python à l’aide du Kit de développement logiciel (SDK) Azure AI Foundry

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.

Dans ce guide de démarrage rapide, nous allons vous guider dans la configuration de votre environnement de développement local avec le Kit de développement logiciel (SDK) Azure AI Foundry. Nous écrivons une invite, nous l’exécutons dans le cadre de votre code d’application, suivons les appels LLM en cours et exécutons une évaluation de base sur les sorties du LLM.

Prérequis

Installer Azure CLI et se connecter

Vous installez l'interface Azure CLI et vous vous connectez depuis votre environnement de développement local, afin de pouvoir utiliser vos informations d'identification pour appeler le service Azure OpenAI.

Dans la plupart des cas, vous pouvez installer Azure CLI à partir de votre terminal à l’aide de la commande suivante :

winget install -e --id Microsoft.AzureCLI

Vous pouvez suivre les instructions Comment installer l’interface de ligne de commande Azure si ces commandes ne fonctionnent pas pour votre système d’exploitation ou configuration particulier.

Après avoir installé Azure CLI, connectez-vous à l’aide de la commande az login et connectez-vous à l’aide du navigateur :

az login

Alternativement, vous pouvez vous connecter manuellement via le navigateur avec un code d'appareil.

az login --use-device-code

Créer un environnement Python

Tout d’abord, vous devez créer un environnement Python à utiliser pour installer le package dont vous avez besoin pour ce didacticiel. N’installez pas de packages dans votre installation globale de Python. Vous devez toujours utiliser un environnement virtuel ou conda lors de l’installation de packages Python. Sinon, vous pouvez interrompre votre installation globale de Python.

Si nécessaire, installez Python

Nous vous recommandons d’utiliser Python 3.10 ou version ultérieure, mais l’utilisation d’au moins Python 3.8 est requise. Si vous n’avez pas installé une version appropriée de Python, vous pouvez suivre les instructions du didacticiel Python VS Code pour le moyen le plus simple d’installer Python sur votre système d’exploitation.

Créer un environnement virtuel

Si Python 3.10, ou une version ultérieure est déjà installé, vous pouvez créer un environnement virtuel à l’aide des commandes suivantes :

py -3 -m venv .venv
.venv\scripts\activate

L'activation de l'environnement Python signifie que lorsque vous exécutez python ou pip depuis la ligne de commande, vous utilisez alors l'interpréteur Python contenu dans le dossier .venv de votre application.

Remarque

Vous pouvez utiliser la commande deactivate pour quitter l’environnement virtuel Python et la réactiver ultérieurement si nécessaire.

Installer des packages

Installez azure-ai-projects(préversion), azure-ai-inference (préversion) et les packages Azure-Identity :

pip install azure-ai-projects azure-ai-inference azure-identity 

Créer votre application de conversation

Créez un fichier nommé chat.py. Copiez et collez le code suivant dans celui-ci.

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential

project_connection_string = "<your-connection-string-goes-here>"

project = AIProjectClient.from_connection_string(
    conn_str=project_connection_string, credential=DefaultAzureCredential()
)

chat = project.inference.get_chat_completions_client()
response = chat.complete(
    model="gpt-4o-mini",
    messages=[
        {
            "role": "system",
            "content": "You are an AI assistant that speaks like a techno punk rocker from 2350. Be cool but not too cool. Ya dig?",
        },
        {"role": "user", "content": "Hey, can you help me with my taxes? I'm a freelancer."},
    ],
)

print(response.choices[0].message.content)

Insérer votre chaîne de connexion

Votre chaîne de connexion de projet est requise pour appeler le service Azure OpenAI à partir de votre code.

Recherchez votre chaîne de connexion dans le projet Azure AI Foundry que vous avez créé dans le guide de démarrage rapide sur le terrain de jeu Azure AI Foundry. Ouvrez le projet, puis recherchez la chaîne de connexion dans la page vue d’ensemble Vue d’ensemble.

Capture d’écran montrant la page vue d’ensemble d’un projet et l’emplacement de la chaîne de connexion.

Copiez la chaîne de connexion et remplacez <your-connection-string-goes-here> dans le fichier chat.py.

Exécuter votre script de conversation

Exécutez le script pour afficher la réponse du modèle.

python chat.py

Générer une invite à partir d’une entrée utilisateur et d’un modèle d’invite

Le script utilise des messages d’entrée et de sortie codés en dur. Dans une application réelle, vous allez prendre l’entrée d’une application cliente, générer un message système avec des instructions internes au modèle, puis appeler le LLM avec tous les messages.

Nous allons modifier le script pour prendre l’entrée d’une application cliente et générer un message système à l’aide d’un modèle d’invite.

  1. Supprimez la dernière ligne du script qui imprime une réponse.

  2. À présent, définissez une fonction get_chat_response qui accepte les messages et le contexte, génère un message système à l’aide d’un modèle d’invite et appelle un modèle. Ajoutez ce code à votre fichier chat.py existant :

    from azure.ai.inference.prompts import PromptTemplate
    
    
    def get_chat_response(messages, context):
        # create a prompt template from an inline string (using mustache syntax)
        prompt_template = PromptTemplate.from_string(
            prompt_template="""
            system:
            You are an AI assistant that speaks like a techno punk rocker from 2350. Be cool but not too cool. Ya dig? Refer to the user by their first name, try to work their last name into a pun.
    
            The user's first name is {{first_name}} and their last name is {{last_name}}.
            """
        )
    
        # generate system message from the template, passing in the context as variables
        system_message = prompt_template.create_messages(data=context)
    
        # add the prompt messages to the user messages
        return chat.complete(
            model="gpt-4o-mini",
            messages=system_message + messages,
            temperature=1,
            frequency_penalty=0.5,
            presence_penalty=0.5,
        )
    

    Remarque

    Le modèle d’invite utilise le format mustache.

    La fonction get_chat_response peut être facilement ajoutée en tant qu’itinéraire vers une application FastAPI ou Flask pour activer l’appel de cette fonction à partir d’une application web frontale.

  3. À présent, simulez la transmission d’informations d’une application frontale à cette fonction. Ajoutez le code suivant à la fin de votre fichier chat.py. N’hésitez pas à jouer avec le message et à ajouter votre propre nom.

    if __name__ == "__main__":
        response = get_chat_response(
            messages=[{"role": "user", "content": "what city has the best food in the world?"}],
            context={"first_name": "Jessie", "last_name": "Irwin"},
        )
        print(response.choices[0].message.content)
    

Exécutez le script révisé pour voir la réponse du modèle avec cette nouvelle entrée.

python chat.py

Étape suivante