Créer un bot avec le Bot Framework SDK
L’objectif est de partager mon expérience de création d’un bot Teams de bout en bout avec un agent Azure AI Foundry.
Pour cela, il faut interconnecter :
- un agent Azure AI Foundry
- un bot Azure AI qui sera intégré dans Teams
- une application proxy qui relie Azure AI Bot et l’agent Azure AI Foundry
- la configuration de l’application Teams à déployer dans le backend de développement de Teams.
python3 -m venv venv
source venv/bin/activate
Modèles Python
pip install botbuilder-core
pip install asyncio
pip install aiohttp
pip install cookiecutter==1.7.0
Créer un bot
Vous serez invité à donner un nom et une description à votre bot. Saisissez les valeurs suivantes :
bot_name: echo_bot bot_description: Un bot qui répète la réponse de l’utilisateur.
cookiecutter https://github.com/microsoft/BotBuilder-Samples/releases/download/Templates/echo.zip
Démarrer votre bot
cd echo_bot
pip install -r requirements.txt
python app.py
Saisissez l’URL de votre bot, qui correspond à votre localhost et port, avec /api/messages ajouté au chemin. L’adresse est généralement : http://localhost:3978/api/messages.
Créer et déployer un bot dans Azure
Pour utiliser la conversation Azure Communication Services comme canal dans Azure Bot Service, commencez par déployer un bot. Pour cela, procédez comme suit :
- Créez une ressource Azure Bot Service
- Obtenez l’ID d’application et le mot de passe du bot
- Créez une application web pour héberger la logique du bot
- Créez un point de terminaison de messagerie pour le bot
Déployer le code Python dans une application web
az identity create --resource-group rg-akd-ia-agent-lawyer --name id-lexit-agent-bot --location westeurope
az deployment group create --resource-group rg-akd-ia-agent-lawyer --template-file deploymentTemplates/deployUseExistResourceGroup/template-BotApp-with-rg.json --parameters params-webapp.json
Mettre à jour le code
az webapp up --resource-group rg-akd-ia-agent-lawyer --name app-lexit-agent-bot --plan app-lexit-agent-plan --runtime PYTHON:3.11 --location swedencentral
Assigner les permissions à l’identité managée de la WebApp
Rôle “Azure AI User” sur l’identité id-lexit-agent-bot dans le groupe de ressources doveia-sec-ai-foundry-resource.
Déployer le bot Azure
az deployment group create --resource-group rg-akd-ia-agent-lawyer --template-file deploymentTemplates/deployUseExistResourceGroup/template-AzureBot-with-rg.json --parameters params-bot.json