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
- Avant de suivre ce guide de démarrage rapide, suivez le guide de démarrage rapide sur le terrain de jeu Azure AI Foundry pour déployer un modèle gpt-4o-mini dans un projet.
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 :
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 :
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.
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.
Supprimez la dernière ligne du script qui imprime une réponse.
À 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.
À 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