Azure AI Gateway
Configurez Azure API Management (APIM) en tant que passerelle IA pour gouverner les modèles IA, les outils MCP et les agents.
Pour déployer APIM, utilisez la compétence azure-prepare. Voir guide de déploiement APIM.
When to Use This Skill
| Category | Triggers |
|---|---|
| Model Governance | "semantic caching", "token limits", "load balance AI", "track token usage" |
| Tool Governance | "rate limit MCP", "protect my tools", "configure my tool", "convert API to MCP" |
| Agent Governance | "content safety", "jailbreak detection", "filter harmful content" |
| Configuration | "add Azure OpenAI backend", "configure my model", "add AI Foundry model" |
| Testing | "test AI gateway", "call OpenAI through gateway" |
Quick Reference
| Policy | Purpose | Details |
|---|---|---|
azure-openai-token-limit |
Contrôle des coûts | Model Policies |
azure-openai-semantic-cache-lookup/store |
Économies de 60 à 80 % | Model Policies |
azure-openai-emit-token-metric |
Observabilité | Model Policies |
llm-content-safety |
Sécurité et conformité | Agent Policies |
rate-limit-by-key |
Protection MCP/outils | Tool Policies |
Get Gateway Details
# Get gateway URL
az apim show --name <apim-name> --resource-group <rg> --query "gatewayUrl" -o tsv
# List backends (AI models)
az apim backend list --service-name <apim-name> --resource-group <rg> \
--query "[].{id:name, url:url}" -o table
# Get subscription key
az apim subscription keys list \
--service-name <apim-name> --resource-group <rg> --subscription-id <sub-id>
Test AI Endpoint
GATEWAY_URL=$(az apim show --name <apim-name> --resource-group <rg> --query "gatewayUrl" -o tsv)
curl -X POST "${GATEWAY_URL}/openai/deployments/<deployment>/chat/completions?api-version=2024-02-01" \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <key>" \
-d '{"messages": [{"role": "user", "content": "Hello"}], "max_tokens": 100}'
Common Tasks
Add AI Backend
Voir references/patterns.md pour les étapes complètes.
# Discover AI resources
az cognitiveservices account list --query "[?kind=='OpenAI']" -o table
# Create backend
az apim backend create --service-name <apim> --resource-group <rg> \
--backend-id openai-backend --protocol http --url "https://<aoai>.openai.azure.com/openai"
# Grant access (managed identity)
az role assignment create --assignee <apim-principal-id> \
--role "Cognitive Services User" --scope <aoai-resource-id>
Apply AI Governance Policy
Ordre de politique recommandé dans <inbound> :
- Authentication - Managed identity vers le backend
- Semantic Cache Lookup - Vérifier le cache avant d'appeler l'IA
- Token Limits - Contrôle des coûts
- Content Safety - Filtrer le contenu nuisible
- Backend Selection - Équilibrage de charge
- Metrics - Suivi de l'utilisation des tokens
Voir references/policies.md pour un exemple complet.
Troubleshooting
| Issue | Solution |
|---|---|
| Token limit 429 | Augmenter tokens-per-minute ou ajouter l'équilibrage de charge |
| Aucun hit de cache | Réduire score-threshold à 0,7 |
| Faux positifs de contenu | Augmenter les seuils de catégorie (5-6) |
| Authentification backend 401 | Accorder le rôle "Cognitive Services User" à APIM |
Voir references/troubleshooting.md pour plus de détails.
References
- Detailed Policies - Exemples de politique complets
- Configuration Patterns - Modèles étape par étape
- Troubleshooting - Problèmes courants
- AI-Gateway Samples
- GenAI Gateway Docs
SDK Quick References
- Content Safety: Python | TypeScript
- API Management: Python | .NET