Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce tutoriel couvre la première étape du parcours du développeur Microsoft Foundry : d’une idée initiale à un prototype de travail. Vous créez un assistant de travail moderne qui combine les connaissances internes de l’entreprise avec des conseils techniques externes à l’aide du Kit de développement logiciel (SDK) Microsoft Foundry.
Scénario métier : Créez un assistant IA qui aide les employés à combiner :
- Stratégies d’entreprise (à partir de documents SharePoint)
- Conseils d’implémentation technique (de Microsoft Learn via MCP)
- Solutions complètes (combinaison des deux sources pour l’implémentation métier)
- Évaluation par lots pour valider les performances de l’agent dans des scénarios métier réalistes
Résultat du tutoriel : À la fin, vous avez un assistant de l'espace de travail moderne capable de répondre à des questions de stratégie, techniques et combinées sur l’implémentation ; un script d’évaluation par lots reproductible ; et des points d’extension clairs (autres outils, schémas multi-agents, évaluation plus riche).
Vous allez :
- Créez un Assistant pour Espaces de Travail Modernes avec l’intégration de SharePoint et MCP.
- Illustrez des scénarios métier réels combinant des connaissances internes et externes.
- Implémentez une gestion robuste des erreurs et une dégradation progressive.
- Créez un framework d’évaluation pour les tests axés sur l’entreprise.
- Préparez la base du déploiement de la gouvernance et de la production.
Cet exemple minimal illustre les modèles prêts pour l’entreprise avec des scénarios métier réalistes.
Important
Le code de cet article utilise des packages actuellement en préversion. Cette version préliminaire est fournie sans contrat de niveau de service, et nous la déconseillons pour les charges de travail en production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure.
Prerequisites
Authentification de l’abonnement Azure et de l’interface CLI (
az login)Azure CLI 2.67.0 ou version ultérieure (vérifiez avec
az version)Un projet Foundry avec un modèle déployé (par exemple, ). Si vous n’en avez pas : Créez un projet , puis déployez un modèle (voir vue d’ensemble du modèle : Catalogue de modèles).
Python 3.10 ou version ultérieure
Connexion SharePoint configurée dans votre projet (documentation de l’outil SharePoint)
Note
Pour configurer votre projet Foundry pour la connectivité SharePoint, consultez la documentation de l’outil SharePoint.
(Facultatif) Git installé pour cloner l’exemple de référentiel
Étape 1 : Obtenir l’exemple de code
Au lieu de naviguer dans une arborescence de référentiels volumineux, utilisez l’une des approches suivantes :
Option A (cloner l’intégralité du référentiel d’exemples)
Conseil / Astuce
Le code utilise l’API De projet Foundry (nouvelle) (préversion) et est incompatible avec l’API du projet Foundry (classique).
git clone --depth 1 https://github.com/azure-ai-foundry/foundry-samples.git
cd foundry-samples/samples/python/enterprise-agent-tutorial/1-idea-to-prototype
Option B (vérification éparse pour ce tutoriel uniquement - téléchargement réduit)
git clone --no-checkout https://github.com/azure-ai-foundry/foundry-samples.git
cd foundry-samples
git sparse-checkout init --cone
git sparse-checkout set samples/python/enterprise-agent-tutorial/1-idea-to-prototype
git checkout
cd samples/python/enterprise-agent-tutorial/1-idea-to-prototype
Répétez le chemin d’accès pour csharp ou java des variantes si nécessaire.
Option C (Télécharger zip du dépôt)
Téléchargez le fichier ZIP du référentiel, extrayez-le dans votre environnement local et accédez au dossier du didacticiel.
Important
Pour la mise en production, utilisez un référentiel autonome. Ce didacticiel utilise le référentiel d’exemples partagés. La validation parcellaire diminue le bruit dans le dépôt local.
La structure minimale contient uniquement les fichiers essentiels :
enterprise-agent-tutorial/
└── 1-idea-to-prototype/
├── main.py # Modern Workplace Assistant
├── evaluate.py # Business evaluation framework
├── questions.jsonl # Business test scenarios (4 questions)
├── requirements.txt # Python dependencies
├── .env.template # Environment variables template
├── README.md # Complete setup instructions
├── MCP_SERVERS.md # MCP server configuration guide
├── sharepoint-sample-data # Sample business documents for SharePoint
└── collaboration-standards.docx # Sample content for policies
└── remote-work-policy.docx # Sample content for policies
└── security-guidelines.docx # Sample content for policies
└── data-governance-policy.docx # Sample content for policies
Étape 2 : Exécuter l’exemple immédiatement
Commencez par exécuter l’agent afin de voir les fonctionnalités de travail avant de vous plonger dans les détails de l’implémentation.
Configuration de l’environnement et environnement virtuel
Installez les runtimes de langage requis, les outils globaux et les extensions VS Code, comme décrit dans Préparer votre environnement de développement.
Installer les dépendances à partir de
requirements.txt:pip install -r requirements.txt-
Copiez votre endpoint à partir de l’écran d’accueil. Vous l’utiliserez à l’étape suivante.
Configurer
.env.Copiez
.env.templatevers.envet configurez.# Foundry Configuration PROJECT_ENDPOINT=https://<your-project>.aiservices.azure.com MODEL_DEPLOYMENT_NAME=gpt-4o-mini AI_FOUNDRY_TENANT_ID=<your-tenant-id> # The Microsoft Learn MCP Server (public authoritative Microsoft docs index) MCP_SERVER_URL=https://learn.microsoft.com/api/mcp # SharePoint Integration (Optional - requires connection setup) SHAREPOINT_RESOURCE_NAME=your-sharepoint-connection SHAREPOINT_SITE_URL=https://<your-company>.sharepoint.com/teams/your-siteConseil / Astuce
Pour obtenir votre ID de locataire, exécutez :
# Get tenant ID az account show --query tenantId -o tsvPour obtenir votre point de terminaison de projet, ouvrez votre projet dans le portail Foundry et copiez la valeur affichée ici.
Exécuter l’agent et l’évaluation
python main.py
python evaluate.py
Sortie attendue (exécution initiale de l’agent)
Exécution réussie avec SharePoint :
🤖 Creating Modern Workplace Assistant...
✅ SharePoint connected: YourConnection
✅ Agent created: asst_abc123
Dégradation progressive sans SharePoint :
⚠️ SharePoint connection not found: Connection 'YourConnection' not found
✅ Agent created: asst_abc123
Maintenant que vous disposez d’un agent opérationnel, les sections suivantes expliquent son fonctionnement. Vous n’avez pas besoin d’effectuer d’action lors de la lecture de ces sections : elles sont à des fins d’explication.
Étape 3 : Configurer des exemples de documents professionnels SharePoint
- Accédez à votre site SharePoint (configuré dans la connexion).
- Créer une bibliothèque de documents « Stratégies d’entreprise » (ou utiliser des documents existants).
- Chargez les quatre exemples de documents Word fournis dans le
sharepoint-sample-datadossier :remote-work-policy.docxsecurity-guidelines.docxcollaboration-standards.docxdata-governance-policy.docx
Exemple de structure
📁 Company Policies/
├── remote-work-policy.docx # VPN, MFA, device requirements
├── security-guidelines.docx # Azure security standards
├── collaboration-standards.docx # Teams, SharePoint usage
└── data-governance-policy.docx # Data classification, retention
Étape 4 : Comprendre l’implémentation de l’Assistant
Cette section explique le code principal dans main.py. Vous avez déjà exécuté l’agent; cette section est conceptuelle et ne nécessite aucune modification. Après la lecture, vous pouvez :
- Ajoutez de nouveaux outils de données internes et externes.
- Étendez les instructions dynamiques.
- Introduisez l’orchestration multi-agent.
- Améliorez l’observabilité et les diagnostics.
Le code se décompose en sections principales suivantes, classées comme elles apparaissent dans l’exemple de code complet :
- Configurer les importations et l’authentification
- Configurer l’authentification sur Azure
- Configurer l’outil SharePoint
- Configurer l’outil MCP
- Créer l’agent et connecter les outils
- Converser avec l’agent
Important
Le code de cet article utilise des packages actuellement en préversion. Cette version préliminaire est fournie sans contrat de niveau de service, et nous la déconseillons pour les charges de travail en production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure.
Importation et configuration de l’authentification
Le code utilise plusieurs bibliothèques clientes du Kit de développement logiciel (SDK) Microsoft Foundry pour créer un agent d’entreprise robuste.
import os
import time
from azure.ai.agents import AgentsClient
from azure.ai.agents.models import (
SharepointTool,
SharepointGroundingToolParameters,
McpTool,
RunHandler,
ToolApproval
)
from azure.identity import DefaultAzureCredential
from dotenv import load_dotenv
# Import for connection resolution
try:
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import ConnectionType
HAS_PROJECT_CLIENT = True
except ImportError:
HAS_PROJECT_CLIENT = False
Configurer l’authentification dans Azure
Avant de créer votre agent, configurez l’authentification auprès de Foundry.
# Support default Azure credentials
credential = DefaultAzureCredential()
agents_client = AgentsClient(
endpoint=os.environ["PROJECT_ENDPOINT"],
credential=credential,
)
print(f"✅ Connected to Azure AI Foundry: {os.environ['PROJECT_ENDPOINT']}")
Créer l’outil SharePoint pour l’agent
L’agent utilise SharePoint et peut accéder aux documents de stratégie et de procédure de l’entreprise stockés ici. Configurez la connexion à SharePoint dans votre code.
# Create SharePoint tool with the full ARM resource ID
sharepoint_tool = SharepointTool(connection_id=connection_id)
print(f"✅ SharePoint tool configured successfully")
Créer l’outil MCP pour l’agent
# MCP (Model Context Protocol) enables agents to access external data sources
# like Microsoft Learn documentation. The approval flow is handled automatically
# in the chat_with_assistant function.
from azure.ai.agents.models import McpTool
mcp_server_url = os.environ.get("MCP_SERVER_URL")
mcp_tool = None
if mcp_server_url:
print(f"📚 Configuring Microsoft Learn MCP integration...")
print(f" Server URL: {mcp_server_url}")
try:
# Create MCP tool for Microsoft Learn documentation access
# server_label must match pattern: ^[a-zA-Z0-9_]+$ (alphanumeric and underscores only)
mcp_tool = McpTool(
server_url=mcp_server_url,
server_label="Microsoft_Learn_Documentation"
)
print(f"✅ MCP tool configured successfully")
except Exception as e:
print(f"⚠️ MCP tool unavailable: {e}")
print(f" Agent will operate without Microsoft Learn access")
mcp_tool = None
else:
print(f"📚 MCP integration skipped (MCP_SERVER_URL not set)")
Créer l’agent et connecter les outils
À présent, créez l’agent et connectez les outils SharePoint et MCP.
# Create the agent using Agent SDK v2 with available tools
print(f"🛠️ Creating agent with model: {os.environ['MODEL_DEPLOYMENT_NAME']}")
# Build tools list with proper serialization
tools = []
# Add SharePoint tool using .definitions property
if sharepoint_tool:
tools.extend(sharepoint_tool.definitions)
print(f" ✓ SharePoint tool added")
# Add MCP tool using .definitions property
if mcp_tool:
tools.extend(mcp_tool.definitions)
print(f" ✓ MCP tool added")
print(f" Total tools: {len(tools)}")
# Create agent with or without tools
if tools:
agent = agents_client.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
name="Modern Workplace Assistant",
instructions=instructions,
tools=tools
)
else:
agent = agents_client.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
name="Modern Workplace Assistant",
instructions=instructions,
)
print(f"✅ Agent created successfully: {agent.id}")
return agent
Converser avec l’agent
Enfin, implémentez une boucle interactive pour converser avec l’agent.
# Get response from the agent
print("🤖 ASSISTANT RESPONSE:")
response, status = chat_with_assistant(agent.id, scenario['question'])
Sortie attendue de l’exemple de code de l’agent (main.py)
Lorsque vous exécutez l’agent, vous voyez une sortie similaire à l’exemple suivant. La sortie montre la réussite de la configuration de l’outil et des réponses de l’agent aux scénarios métier :
$ python main.py
✅ Connected to Foundry
🚀 Foundry - Modern Workplace Assistant
Tutorial 1: Building Enterprise Agents with Agent SDK v2
======================================================================
🤖 Creating Modern Workplace Assistant...
📁 Configuring SharePoint integration...
Connection name: ContosoCorpPoliciesProcedures
🔍 Resolving connection name to ARM resource ID...
✅ Resolved
✅ SharePoint tool configured successfully
📚 Configuring Microsoft Learn MCP integration...
Server URL: https://learn.microsoft.com/api/mcp
✅ MCP tool configured successfully
🛠️ Creating agent with model: gpt-4o-mini
✓ SharePoint tool added
✓ MCP tool added
Total tools: 2
✅ Agent created successfully
======================================================================
🏢 MODERN WORKPLACE ASSISTANT - BUSINESS SCENARIO DEMONSTRATION
======================================================================
This demonstration shows how AI agents solve real business problems
using the Azure AI Agents SDK v2.
======================================================================
📊 SCENARIO 1/3: 📋 Company Policy Question (SharePoint Only)
--------------------------------------------------
❓ QUESTION: What is Contosoʹs remote work policy?
🎯 BUSINESS CONTEXT: Employee needs to understand company-specific remote work requirements
🎓 LEARNING POINT: SharePoint tool retrieves internal company policies
--------------------------------------------------
🤖 ASSISTANT RESPONSE:
✅ SUCCESS: Contosoʹs remote work policy, effective January 2024, outlines the following key points:
### Overview
Contoso Corp supports flexible work arrangements, including remote work, to enhance employee productivity and work-life balance.
### Eligibility
- **Full-time Employees**: Must have completed a 90...
📏 Full response: 1530 characters
📈 STATUS: completed
--------------------------------------------------
📊 SCENARIO 2/3: 📚 Technical Documentation Question (MCP Only)
--------------------------------------------------
❓ QUESTION: According to Microsoft Learn, what is the correct way to implement Azure AD Conditional Access policies? Please include reference links to the official documentation.
🎯 BUSINESS CONTEXT: IT administrator needs authoritative Microsoft technical guidance
🎓 LEARNING POINT: MCP tool accesses Microsoft Learn for official documentation with links
--------------------------------------------------
🤖 ASSISTANT RESPONSE:
✅ SUCCESS: To implement Azure AD Conditional Access policies correctly, follow these key steps outlined in the Microsoft Learn documentation:
### 1. Understanding Conditional Access
Conditional Access policies act as "if-then" statements that enforce organizational access controls based on various signals. Th...
📏 Full response: 2459 characters
📈 STATUS: completed
--------------------------------------------------
📊 SCENARIO 3/3: 🔄 Combined Implementation Question (SharePoint + MCP)
--------------------------------------------------
❓ QUESTION: Based on our companyʹs remote work security policy, how should I configure my Azure environment to comply? Please include links to Microsoft documentation showing how to implement each requirement.
🎯 BUSINESS CONTEXT: Need to map company policy to technical implementation with official guidance
🎓 LEARNING POINT: Both tools work together: SharePoint for policy + MCP for implementation docs
--------------------------------------------------
🤖 ASSISTANT RESPONSE:
✅ SUCCESS: To configure your Azure environment in compliance with Contoso Corpʹs remote work security policy, you need to focus on several key areas, including enabling Multi-Factor Authentication (MFA), utilizing Azure Security Center, and implementing proper access management. Below are specific steps and li...
📏 Full response: 3436 characters
📈 STATUS: completed
--------------------------------------------------
✅ DEMONSTRATION COMPLETED!
🎓 Key Learning Outcomes:
• Agent SDK v2 usage for enterprise AI
• Proper thread and message management
• Real business value through AI assistance
• Foundation for governance and monitoring (Tutorials 2-3)
🎯 Try interactive mode? (y/n): n
🎉 Sample completed successfully!
📚 This foundation supports Tutorial 2 (Governance) and Tutorial 3 (Production)
🔗 Next: Add evaluation metrics, monitoring, and production deployment
Étape 5 : Évaluer l’assistant dans un lot
Le code de l’infrastructure d’évaluation teste des scénarios métier réalistes qui combinent des stratégies SharePoint avec des conseils techniques Microsoft Learn. Cette approche illustre les fonctionnalités d’évaluation par lots pour valider les performances de l’agent dans plusieurs cas de test. L’évaluation utilise une approche basée sur des mots clés pour déterminer si l’agent fournit des réponses pertinentes qui incorporent les sources d’informations attendues.
Ce framework d’évaluation teste :
- Intégration de SharePoint pour les questions relatives à la stratégie d’entreprise
- Intégration MCP pour des questions de conseil technique
- Scénarios combinés nécessitant des connaissances internes et externes
- Qualité de la réponse à l’aide de la correspondance de mots clés et de l’analyse de longueur
Le code se décompose en sections principales suivantes :
- Données d’évaluation de charge.
- Exécutez l’évaluation par lots.
- Compilez les résultats de l’évaluation.
Charger des données d’évaluation
Dans cette section, l’infrastructure d’évaluation charge les questions de test à partir de questions.jsonl. Le fichier contient des scénarios métier qui testent différents aspects de l’agent :
{"question": "What is Contoso's remote work policy?", "expected_source": "sharepoint", "test_type": "sharepoint_only", "explanation": "Forces SharePoint tool usage - answer must contain Contoso-specific policy details", "validation": "check_for_contoso_specifics"}
{"question": "What are Contoso's security protocols for remote employees?", "expected_source": "sharepoint", "test_type": "sharepoint_only", "explanation": "Forces SharePoint tool usage - must retrieve specific security protocols from company policies", "validation": "check_for_contoso_specifics"}
{"question": "How does Contoso classify confidential business documents according to our data governance policy?", "expected_source": "sharepoint", "test_type": "sharepoint_only", "explanation": "Forces SharePoint tool usage - must retrieve data classification from governance policy", "validation": "check_for_contoso_specifics"}
{"question": "What collaboration tools are approved for internal use at Contoso?", "expected_source": "sharepoint", "test_type": "sharepoint_only", "explanation": "Forces SharePoint tool usage - must list specific tools from collaboration standards", "validation": "check_for_contoso_specifics"}
{"question": "According to Microsoft Learn documentation, what is the correct way to set up Azure Active Directory for remote workers? Include reference links.", "expected_source": "mcp", "test_type": "mcp_only", "explanation": "Forces MCP tool usage - must provide Microsoft Learn documentation with links", "validation": "check_for_microsoft_learn_links"}
{"question": "What does Microsoft Learn say about configuring Azure Security Center monitoring? Please provide the official documentation links.", "expected_source": "mcp", "test_type": "mcp_only", "explanation": "Forces MCP tool usage - must access Microsoft Learn for Security Center guidance with links", "validation": "check_for_microsoft_learn_links"}
{"question": "How do I implement data loss prevention in Microsoft 365 according to Microsoft's official documentation? Include links to the relevant Microsoft Learn articles.", "expected_source": "mcp", "test_type": "mcp_only", "explanation": "Forces MCP tool usage - must provide DLP implementation steps with documentation links", "validation": "check_for_microsoft_learn_links"}
{"question": "What are the steps to configure conditional access policies in Azure AD according to Microsoft Learn? Provide documentation links.", "expected_source": "mcp", "test_type": "mcp_only", "explanation": "Forces MCP tool usage - must provide conditional access guidance with Microsoft Learn links", "validation": "check_for_microsoft_learn_links"}
{"question": "Based on Contoso's remote work policy requirements, how should I implement Azure VPN Gateway? Include links to Microsoft documentation for each step.", "expected_source": "both", "test_type": "hybrid", "explanation": "Forces both tools - must combine Contoso policy requirements with Azure VPN implementation guidance and links", "validation": "check_for_both_sources"}
{"question": "What Azure services do I need to configure to meet Contoso's data governance requirements? Provide Microsoft Learn links for implementing each service.", "expected_source": "both", "test_type": "hybrid", "explanation": "Forces both tools - must map Contoso governance policy to specific Azure services with documentation links", "validation": "check_for_both_sources"}
{"question": "How do I configure Microsoft Teams to comply with Contoso's collaboration standards? Include Microsoft documentation links for the setup.", "expected_source": "both", "test_type": "hybrid", "explanation": "Forces both tools - must combine Contoso collaboration standards with Teams configuration guidance and links", "validation": "check_for_both_sources"}
{"question": "What Azure security services should I implement to align with Contoso's incident response procedures? Provide links to Microsoft Learn for each service.", "expected_source": "both", "test_type": "hybrid", "explanation": "Forces both tools - must connect Contoso security policy to Azure security services with documentation links", "validation": "check_for_both_sources"}
# NOTE: This code is a non-runnable snippet of the larger sample code from which it is taken.
def load_test_questions(filepath="questions.jsonl"):
"""Load test questions from JSONL file"""
questions = []
with open(filepath, 'r') as f:
for line in f:
questions.append(json.loads(line.strip()))
return questions
Exécuter l’évaluation par lots
def run_evaluation(agent_id):
"""
Run evaluation with test questions using Agent SDK v2.
Args:
agent_id: The ID of the agent to evaluate
Returns:
list: Evaluation results for each question
"""
questions = load_test_questions()
results = []
print(f"🧪 Running evaluation with {len(questions)} test questions...")
print("="*70)
# Track results by test type
stats = {
"sharepoint_only": {"passed": 0, "total": 0},
"mcp_only": {"passed": 0, "total": 0},
"hybrid": {"passed": 0, "total": 0}
}
for i, q in enumerate(questions, 1):
test_type = q.get("test_type", "unknown")
expected_source = q.get("expected_source", "unknown")
validation_type = q.get("validation", "default")
print(f"\n📝 Question {i}/{len(questions)} [{test_type.upper()}]")
print(f" {q['question'][:80]}...")
response, status = chat_with_assistant(agent_id, q["question"])
# Validate response using source-specific checks
passed, validation_details = validate_response(response, validation_type, expected_source)
result = {
"question": q["question"],
"response": response,
"status": status,
"passed": passed,
"validation_details": validation_details,
"test_type": test_type,
"expected_source": expected_source,
"explanation": q.get("explanation", "")
}
results.append(result)
# Update stats
if test_type in stats:
stats[test_type]["total"] += 1
if passed:
stats[test_type]["passed"] += 1
status_icon = "✅" if passed else "⚠️"
print(f"{status_icon} Status: {status} | Tool check: {validation_details}")
print("\n" + "="*70)
print("📊 EVALUATION SUMMARY BY TEST TYPE:")
print("="*70)
for test_type, data in stats.items():
if data["total"] > 0:
pass_rate = (data["passed"] / data["total"]) * 100
icon = "✅" if pass_rate >= 75 else "⚠️" if pass_rate >= 50 else "❌"
print(f"{icon} {test_type.upper()}: {data['passed']}/{data['total']} passed ({pass_rate:.1f}%)")
return results
Compiler les résultats de l’évaluation
def calculate_and_save_results(results):
"""Calculate pass rate and save results"""
# Calculate pass rate
passed = sum(1 for r in results if r.get("passed", False))
total = len(results)
pass_rate = (passed / total * 100) if total > 0 else 0
print(f"\n📊 Overall Evaluation Results: {passed}/{total} questions passed ({pass_rate:.1f}%)")
# Save results
with open("evaluation_results.json", "w") as f:
json.dump(results, f, indent=2)
print(f"💾 Results saved to evaluation_results.json")
# Print summary of failures
failures = [r for r in results if not r.get("passed", False)]
if failures:
print(f"\n⚠️ Failed Questions ({len(failures)}):")
for r in failures:
print(f" - [{r['test_type']}] {r['question'][:60]}...")
print(f" Reason: {r['validation_details']}")
Sortie attendue de l’exemple de code d’évaluation (evaluate.py)
Lorsque vous exécutez le script d’évaluation, vous voyez une sortie similaire à l’exemple suivant. La sortie montre l’exécution réussie des scénarios de test métier et la génération de métriques d’évaluation :
python evaluate.py
✅ Connected to Foundry
🧪 Modern Workplace Assistant - Evaluation (Agent SDK v2)
======================================================================
🤖 Creating Modern Workplace Assistant...
📁 Configuring SharePoint integration...
Connection name: ContosoCorpPoliciesProcedures
🔍 Resolving connection name to ARM resource ID...
✅ Resolved
✅ SharePoint tool configured successfully
📚 Configuring Microsoft Learn MCP integration...
Server URL: https://learn.microsoft.com/api/mcp
✅ MCP tool configured successfully
🛠️ Creating agent with model: gpt-4o-mini
✓ SharePoint tool added
✓ MCP tool added
Total tools: 2
✅ Agent created successfully
Model: gpt-4o-mini
Name: Modern Workplace Assistant
======================================================================
🧪 Running evaluation with 12 test questions...
======================================================================
📝 Question 1/12 [SHAREPOINT_ONLY]
What is Contosoʹs remote work policy?...
✅ Status: completed | Tool check: Contoso-specific content: True
...
📝 Question 5/12 [MCP_ONLY]
According to Microsoft Learn documentation, what is the correct way to set up Az...
✅ Status: completed | Tool check: Microsoft Learn links: True
...
📝 Question 12/12 [HYBRID]
What Azure security services should I implement to align with Contosoʹs incident...
✅ Status: completed | Tool check: Contoso content: True, Learn links: True
======================================================================
📊 EVALUATION SUMMARY BY TEST TYPE:
======================================================================
✅ SHAREPOINT_ONLY: 4/4 passed (100.0%)
✅ MCP_ONLY: 4/4 passed (100.0%)
✅ HYBRID: 4/4 passed (100.0%)
📊 Overall Evaluation Results: 12/12 questions passed (100.0%)
💾 Results saved to evaluation_results.json
Ressources d’évaluation supplémentaires
L’évaluation génère evaluation_results.json avec des métriques pour chaque question (occurrences des mots-clés, heuristique de la longueur). Vous pouvez étendre ce fichier à :
- Utilisez des instructions de scoring basées sur des modèles.
- Introduisez la validation de sortie structurée.
- Enregistrer la latence et l’utilisation des jetons.
Voici un exemple de la structure de sortie JSON :
[
{
"question": "What is Contoso's remote work policy?",
"response": "Contoso's remote work policy includes the following key components: <...>",
"status": "completed",
"passed": true,
"validation_details": "Contoso-specific content: True",
"test_type": "sharepoint_only",
"expected_source": "sharepoint",
"explanation": "Forces SharePoint tool usage - answer must contain Contoso-specific policy details"
},
{
"question": "What are Contoso's security protocols for remote employees?",
"response": ...
...
}
]
Résumé
Vous disposez maintenant des points suivants :
- Un prototype fonctionnel d'agent unique fondé sur des connaissances internes et externes.
- Script d’évaluation reproductible illustrant les modèles de validation d’entreprise.
- Chemin de mise à niveau clair : plus d’outils, orchestration multi-agents, évaluation plus riche, déploiement.
Ces modèles réduisent les frictions prototype-production : vous pouvez ajouter des sources de données, appliquer la gouvernance et intégrer la supervision sans réécrire la logique principale.
Étapes suivantes
Ce tutoriel montre l’étape 1 du parcours du développeur , de l’idée au prototype. Cet exemple minimal pose les bases pour le développement de l'IA d'entreprise. Pour poursuivre votre parcours, explorez les étapes suivantes :
Améliorations supplémentaires suggérées
- Ajoutez d’autres sources de données (Recherche Ia Azure, autres sources).
- Implémenter des méthodes d’évaluation avancées (évaluation assistée par l’IA).
- Créez des outils personnalisés pour les opérations spécifiques à l’entreprise.
- Ajoutez la mémoire de conversation et la personnalisation.
Étape 2 : Prototype en production
- Réalisez une évaluation de la sécurité avec un test d'équipe rouge.
- Créez des jeux de données d’évaluation complets avec des métriques de qualité.
- Appliquez des stratégies de gouvernance à l’échelle de l’organisation et une comparaison de modèles.
- Configurez la surveillance de la flotte, l’intégration CI/CD et les points de terminaison de déploiement de production.
Étape 3 : Production vers l’adoption
- Collecter les données de trace et les commentaires des utilisateurs à partir de déploiements de production.
- Ajustez les modèles et générez des insights d’évaluation pour l’amélioration continue.
- Intégrez la passerelle Gestion des API Azure à la surveillance continue de la qualité.
- Implémentez la gouvernance de la flotte, les contrôles de conformité et l’optimisation des coûts.