Cette leçon expliquera comment exécuter les exemples de code de ce cours.
Avant de commencer à cloner votre dépôt, rejoignez le canal Discord AI Agents For Beginners pour obtenir de l’aide lors de la configuration, poser des questions sur le cours, ou pour vous connecter avec d’autres apprenants.
Pour commencer, veuillez cloner ou forker le dépôt GitHub. Cela vous permettra d’avoir votre propre version du matériel du cours afin que vous puissiez exécuter, tester et modifier le code !
Cela peut se faire en cliquant sur le lien pour forker le dépôt
Vous devriez maintenant avoir votre propre version forkée de ce cours via le lien suivant :

Le dépôt complet peut être volumineux (~3 Go) si vous téléchargez tout l’historique et tous les fichiers. Si vous assistez seulement à l’atelier ou avez besoin de quelques dossiers de leçons, un clone superficiel (ou un clone sparse) télécharge beaucoup moins.
Remplacez <your-username> dans les commandes ci-dessous par l’URL de votre fork (ou l’URL upstream si vous préférez).
Pour cloner uniquement l’historique du dernier commit (téléchargement léger) :
git clone --depth 1 https://github.com/<your-username>/ai-agents-for-beginners.git
Pour cloner une branche spécifique :
git clone --depth 1 --branch <branch-name> https://github.com/<your-username>/ai-agents-for-beginners.git
Cela utilise le clone partiel et le sparse-checkout (nécessite Git 2.25+ et il est recommandé d’utiliser une version moderne de Git avec support du clone partiel) :
git clone --depth 1 --filter=blob:none --sparse https://github.com/<your-username>/ai-agents-for-beginners.git
Accédez au dossier du dépôt :
cd ai-agents-for-beginners
Ensuite, précisez quels dossiers vous souhaitez (l’exemple ci-dessous montre deux dossiers) :
git sparse-checkout set 00-course-setup 01-intro-to-ai-agents
Après le clonage et la vérification des fichiers, si vous n’avez que besoin des fichiers et souhaitez libérer de l’espace (aucun historique git), veuillez supprimer les métadonnées du dépôt (💀 irréversible — vous perdrez toute la fonctionnalité Git) :
# zsh/bash
rm -rf .git
# PowerShell
Remove-Item -Recurse -Force .git
Créez un nouveau Codespace pour ce dépôt via l’interface GitHub.
Ce cours propose une série de notebooks Jupyter que vous pouvez exécuter pour acquérir une expérience pratique de création d’Agents IA.
Les exemples de code utilisent Microsoft Agent Framework (MAF) avec le FoundryChatClient, qui se connecte au Microsoft Foundry Agent Service V2 (l’API Responses) via Microsoft Foundry.
Tous les notebooks Python sont nommés *-python-agent-framework.ipynb.
NOTE : Si vous n’avez pas Python3.12 installé, assurez-vous de l’installer. Créez ensuite votre environnement virtuel avec python3.12 pour garantir que les versions correctes sont installées depuis requirements.txt.
Exemple
Créez le dossier de l’environnement virtuel Python :
python -m venv venv
Puis activez l’environnement virtuel pour :
# zsh/bash
source venv/bin/activate
# Command Prompt for Windows
venv\Scripts\activate
.NET 10+ : Pour les exemples utilisant .NET, assurez-vous d’installer le .NET 10 SDK ou plus récent. Puis vérifiez la version du SDK .NET installée :
dotnet --list-sdks
gpt-5-mini). Voir Étape 1 ci-dessous.Un fichier requirements.txt est inclus à la racine de ce dépôt contenant tous les paquets Python requis pour exécuter les exemples de code.
Vous pouvez les installer en exécutant la commande suivante dans votre terminal à la racine du dépôt :
pip install -r requirements.txt
Nous recommandons de créer un environnement virtuel Python pour éviter tout conflit ou problème.
Assurez-vous que vous utilisez la bonne version de Python dans VSCode.
Vous avez besoin d’un hub Microsoft Foundry et d’un projet avec un modèle déployé pour exécuter les notebooks.
gpt-5-mini) via Models + Endpoints → Déployer modèle.Depuis votre projet dans le portail Microsoft Foundry :

gpt-5-mini).az loginLa plupart des notebooks s’authentifient via votre connexion Azure CLI — utilisant AzureCliCredential ou DefaultAzureCredential (qui récupèrent votre session az login) depuis le package azure-identity — ils ne nécessitent donc pas de clés API. Quelques leçons et intégrations optionnelles utilisent des clés API ; vérifiez les prérequis de chaque leçon pour d’éventuelles variables d’environnement additionnelles. Cela nécessite d’être connecté via Azure CLI.
Installez Azure CLI si ce n’est pas déjà fait : aka.ms/installazurecli
Connectez-vous en exécutant :
az login
Ou si vous êtes dans un environnement distant/Codespace sans navigateur :
az login --use-device-code
Sélectionnez votre abonnement si cela est demandé — choisissez celui contenant votre projet Foundry.
Vérifiez que vous êtes connecté :
az account show
Pourquoi
az login? Les notebooks s’authentifient avecAzureCliCredential(ouDefaultAzureCredential, qui récupère également votre connexion Azure CLI) du packageazure-identity. Cela signifie que votre session Azure CLI fournit les identifiants — pas de clés API ou secrets dans votre fichier.env. C’est une bonne pratique de sécurité.
.envCopiez le fichier exemple :
# zsh/bash
cp .env.example .env
# PowerShell
Copy-Item .env.example .env
Ouvrez .env et remplissez ces deux valeurs :
AZURE_AI_PROJECT_ENDPOINT=https://<your-project>.services.ai.azure.com/api/projects/<your-project-id>
AZURE_AI_MODEL_DEPLOYMENT_NAME=gpt-5-mini
| Variable | Où la trouver |
|---|---|
AZURE_AI_PROJECT_ENDPOINT |
Portail Foundry → votre projet → page Overview |
AZURE_AI_MODEL_DEPLOYMENT_NAME |
Portail Foundry → Models + Endpoints → nom de votre modèle déployé |
C’est tout pour la plupart des leçons ! Les notebooks s’authentifieront automatiquement via votre session az login.
pip install -r requirements.txt
Nous recommandons d’exécuter cela dans l’environnement virtuel que vous avez créé précédemment.
Les notebooks des Leçons 5 (Agentic RAG) et 16 fonctionnent immédiatement avec une base de connaissances en mémoire — aucune ressource Azure supplémentaire requise. Si vous souhaitez les supporter avec un vrai index Azure AI Search, notez que le notebook de la Leçon 16 utilise actuellement une authentification par clé : il passe de la recherche en mémoire à Azure AI Search uniquement lorsque les deux variables AZURE_SEARCH_SERVICE_ENDPOINT et AZURE_SEARCH_API_KEY sont définies ; sinon il continue avec la recherche en mémoire — donc pour l’exécuter avec un vrai index, vous devez aussi définir la clé admin. L’authentification sans clé avec Microsoft Entra ID (RBAC) est la méthode recommandée pour votre propre code en production, conforme au flux az login utilisé partout ailleurs dans ce cours.
Les étapes RBAC ci-dessous s’appliquent aux exemples du guide de configuration et à votre propre code. Elles ne permettent pas l’authentification sans clé dans le notebook de la Leçon 16 ; celle-ci nécessite encore l’endpoint et la clé admin pour utiliser Azure AI Search.
Activez l’accès basé sur les rôles sur votre service de recherche :
az search service update --name <service-name> --resource-group <resource-group> --auth-options aadOrApiKey
Attribuez-vous les rôles nécessaires (création/chargement d’index et requêtes) :
az role assignment create --assignee <your-user-or-principal-id> --role "Search Service Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
az role assignment create --assignee <your-user-or-principal-id> --role "Search Index Data Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
Ajoutez l’endpoint à votre fichier .env :
| Variable | Où la trouver |
|---|---|
AZURE_SEARCH_SERVICE_ENDPOINT |
Portail Azure → votre ressource Azure AI Search → Overview → URL |
AZURE_SEARCH_API_KEY |
Obligatoire (avec l’endpoint) pour activer Azure AI Search dans le notebook de la Leçon 16, qui utilise une authentification par clé. Portail Azure → Paramètres → Clés → clé admin primaire |
Pourquoi sans clé ? Les clés administrateur donnent un accès complet en écriture à votre service de recherche et peuvent fuir via les fichiers
.env. Avec RBAC, c’est votre identitéaz loginqui est utilisée à la place — le même modèle sans clé Entra ID que les notebooks du cours utilisent (viaAzureCliCredential/DefaultAzureCredential). Voir Connexion à Azure AI Search via les rôles.
Voir le guide de configuration Azure AI Search pour des exemples complets de création d’index en Python et .NET.
Certains notebooks des leçons 6 et 8 appellent Azure OpenAI directement (via l’API Responses) au lieu de passer par un projet Microsoft Foundry. Ces exemples utilisaient auparavant des modèles GitHub, qui sont obsolètes et ne supportent pas l’API Responses. Ajoutez ces variables dans votre fichier .env :
| Variable | Où la trouver |
|---|---|
AZURE_OPENAI_ENDPOINT |
Portail Azure → votre ressource Azure OpenAI → Clés et endpoint → Endpoint (ex. https://<votre-ressource>.openai.azure.com) |
AZURE_OPENAI_DEPLOYMENT |
Nom de votre modèle déployé (ex. gpt-5-mini) qui supporte l’API Responses |
AZURE_OPENAI_API_KEY |
Optionnel — uniquement si vous utilisez une authentification par clé au lieu de az login / Entra ID |
L’API Responses utilise l’endpoint stable
/openai/v1/, donc aucuneapi-versionn’est requise. Connectez-vous avecaz loginpour utiliser l’authentification sans clé Entra ID.
MiniMax propose des modèles à contexte large (jusqu’à 204K tokens) via une API compatible OpenAI. Comme le OpenAIChatClient du Microsoft Agent Framework fonctionne avec tout endpoint compatible OpenAI, vous pouvez utiliser MiniMax comme alternative de remplacement pour les leçons utilisant OpenAIChatClient.
Ajoutez ces variables dans votre fichier .env :
| Variable | Où la trouver |
|---|---|
MINIMAX_API_KEY |
MiniMax Platform → Clés API |
MINIMAX_BASE_URL |
Utilisez https://api.minimax.io/v1 (valeur par défaut) |
MINIMAX_MODEL_ID |
Nom du modèle à utiliser (ex. MiniMax-M3) |
Exemples de modèles : MiniMax-M3 (recommandé), MiniMax-M2.7, MiniMax-M2.7-highspeed (réponses plus rapides). Les noms et disponibilités des modèles peuvent changer avec le temps, et l’accès à un modèle donné peut dépendre de votre compte.
Les exemples de code utilisant OpenAIChatClient (ex. workflow de réservation hôtel de la leçon 14) détecteront automatiquement et utiliseront votre configuration MiniMax lorsque MINIMAX_API_KEY est défini.
Novita AI fournit une API compatible OpenAI pour les LLM open-source et de pointe (DeepSeek, Llama, Qwen, et plus). Puisque OpenAIChatClient du Microsoft Agent Framework fonctionne avec n’importe quel point de terminaison compatible OpenAI, vous pouvez utiliser Novita AI comme une alternative prête à l’emploi à Azure OpenAI ou OpenAI.
Ajoutez ces variables à votre fichier .env :
| Variable | Où la trouver |
|---|---|
NOVITA_API_KEY |
Tableau de bord Novita AI → Clés API |
NOVITA_BASE_URL |
Utilisez https://api.novita.ai/openai/v1 (valeur par défaut) |
NOVITA_MODEL_ID |
Nom du modèle à utiliser (ex. : moonshotai/kimi-k3) |
Exemples de modèles : moonshotai/kimi-k3, zai-org/glm-5.2, deepseek/deepseek-v4-flash-0731. Novita AI héberge également de nombreuses autres familles de modèles open-source (Llama, Qwen, GLM, et plus) — consultez la bibliothèque de modèles Novita AI pour la liste actuelle des modèles disponibles et leurs identifiants.
Les exemples actuels ne consomment pas automatiquement les variables NOVITA_*. Pour utiliser Novita AI, transmettez explicitement ces valeurs lors de la construction de OpenAIChatClient dans l’exemple que vous exécutez.
Foundry Local est un runtime léger qui télécharge, gère et sert les modèles de langue entièrement sur votre propre machine via une API compatible OpenAI — sans besoin de cloud.
Comme le OpenAIChatClient du Microsoft Agent Framework fonctionne avec tout endpoint compatible OpenAI, Foundry Local est une alternative locale prête à l’emploi à Azure OpenAI.
1. Installez Foundry Local
# Windows
winget install Microsoft.FoundryLocal
# macOS
brew install foundrylocal
2. Téléchargez et lancez un modèle (cela démarre aussi le service local) :
foundry model list # voir les modèles disponibles
foundry model run phi-4-mini
3. Installez le SDK Python utilisé pour découvrir le point de terminaison local :
pip install foundry-local-sdk
4. Configurez le Microsoft Agent Framework sur votre modèle local :
from foundry_local import FoundryLocalManager
from agent_framework.openai import OpenAIChatClient
# Télécharge (si nécessaire) et sert le modèle localement, puis découvre le point de terminaison/port.
manager = FoundryLocalManager("phi-4-mini")
chat_client = OpenAIChatClient(
base_url=manager.endpoint, # par exemple http://localhost:<port>/v1
api_key=manager.api_key, # toujours "non requis" pour Foundry Local
model_id=manager.get_model_info("phi-4-mini").id,
)
agent = chat_client.as_agent(
name="LocalAgent",
instructions="You are a helpful assistant running fully on-device.",
)
Remarque : Foundry Local expose un point de terminaison Chat Completions compatible OpenAI. Utilisez-le pour le développement local et les scénarios hors ligne. Pour l’ensemble des fonctionnalités de l’API Réponses (conversations avec état, etc.), utilisez Azure OpenAI ou un projet Microsoft Foundry.
Le notebook du workflow conditionnel dans la leçon 8 utilise le grounding Bing via Microsoft Foundry. Si vous prévoyez d’exécuter cet exemple, ajoutez cette variable à votre fichier .env :
| Variable | Où la trouver |
|---|---|
BING_CONNECTION_ID |
Portail Microsoft Foundry → votre projet → Gestion → Ressources connectées → votre connexion Bing → copiez l’ID de connexion |
Si vous êtes sur macOS et rencontrez une erreur telle que :
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain
Il s’agit d’un problème connu avec Python sur macOS où les certificats SSL du système ne sont pas automatiquement reconnus comme fiables. Essayez les solutions suivantes dans l’ordre :
Option 1 : Exécutez le script Install Certificates de Python (recommandé)
# Remplacez 3.XX par votre version Python installée (par exemple, 3.12 ou 3.13) :
/Applications/Python\ 3.XX/Install\ Certificates.command
Option 2 : Utilisez connection_verify=False dans votre notebook (uniquement pour les notebooks GitHub Models)
Dans le notebook de la Leçon 6 (06-building-trustworthy-agents/code_samples/06-system-message-framework.ipynb), une solution de contournement commentée est déjà incluse. Décommentez connection_verify=False si vous rencontrez des erreurs de certificat :
client = ChatCompletionsClient(
endpoint=endpoint,
credential=AzureKeyCredential(token),
connection_verify=False, # Désactiver la vérification SSL si vous rencontrez des erreurs de certificat
)
⚠️ Attention : Désactiver la vérification SSL (
connection_verify=False) réduit la sécurité en sautant la validation du certificat. N’utilisez ceci que temporairement en environnement de développement. Ne jamais l’utiliser en production.
Option 3 : Installez et utilisez truststore
pip install truststore
Ensuite, ajoutez ce qui suit en haut de votre notebook ou script avant tout appel réseau :
import truststore
truststore.inject_into_ssl()
Si vous rencontrez des problèmes avec cette configuration, rejoignez notre Azure AI Community Discord ou créez une issue.
Vous êtes maintenant prêt à exécuter le code de ce cours. Bon apprentissage dans l’univers des agents IA !
Introduction aux agents IA et cas d’utilisation d’agents
Avertissement : Ce document a été traduit à l’aide du service de traduction automatique Co-op Translator. Bien que nous nous efforçions d’assurer l’exactitude, veuillez noter que les traductions automatisées peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue native doit être considéré comme la source faisant autorité. Pour les informations critiques, il est recommandé de recourir à une traduction professionnelle réalisée par un humain. Nous ne saurions être tenus responsables des malentendus ou erreurs d’interprétation découlant de l’utilisation de cette traduction.