Point de terminaison d’inférence de modèle dans Azure AI services
L’inférence de modèle Azure AI dans Azure AI services permet aux clients de consommer les modèles les plus puissants des fournisseurs de modèles phares à l’aide d’un point de terminaison unique et d’informations d’identification. Cela signifie que vous pouvez basculer entre les modèles et les consommer à partir de votre application sans modifier une seule ligne de code.
L’article explique comment les modèles sont organisés à l’intérieur du service et comment utiliser le point de terminaison d’inférence pour les appeler.
Déploiements
L’inférence de modèle Azure AI rend les modèles disponibles à l’aide du concept de déploiement. Les déploiements permettent de donner un nom à un modèle sous certaines configurations. Vous pouvez ensuite appeler cette configuration de modèle en indiquant son nom sur vos demandes.
Capture des déploiements :
- Un nom de modèle
- Une version de modèle
- Un type d’approvisionnement/de capacité1
- Une configuration de filtrage de contenu1
- Une configuration de limitation de débit1
1 Les configurations peuvent varier en fonction du modèle sélectionné.
Une ressource Azure AI services peut avoir autant de modèles de déploiement que nécessaire, qui n’entraînent pas de coûts, sauf si l’inférence est effectuée pour ces modèles. Les déploiements sont des ressources Azure et sont donc soumis aux stratégies Azure.
Pour en savoir plus sur la création de déploiements, consultez Ajouter et configurer des modèles de déploiement.
Point de terminaison d’inférence Azure AI
Le point de terminaison d’inférence Azure AI permet aux clients d’utiliser un seul point de terminaison avec la même authentification et le même schéma pour générer l’inférence pour les modèles déployés dans la ressource. Ce point de terminaison suit l’API d’inférence de modèle Azure AI que tous les modèles dans l’inférence de modèle Azure AI prennent en charge. Ils prennent en charge les modalités suivantes :
- Incorporations de texte
- Incorporations d’images
- Complétions de conversation
Vous pouvez voir l’URL et les informations d’identification du point de terminaison dans la section Vue d’ensemble :
Routage
Le point de terminaison d’inférence achemine les demandes vers un déploiement donné en faisant correspondre le paramètre name
à l’intérieur de la requête au nom du déploiement. Cela signifie que les déploiements fonctionnent en tant qu’alias d’un modèle donné sous certaines configurations. Cette flexibilité vous permet de déployer un modèle donné plusieurs fois dans le service, mais sous différentes configurations si nécessaire.
Par exemple, si vous créez un déploiement nommé Mistral-large
, ce déploiement peut être appelé comme suit :
Installez le package azure-ai-inference
à l’aide de votre gestionnaire de package, par exemple pip :
pip install azure-ai-inference
Vous pouvez ensuite utiliser le package pour consommer le modèle. L’exemple suivant montre comment créer un client pour consommer les complétions de conversation :
import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential
model = ChatCompletionsClient(
endpoint="https://<resource>.services.ai.azure.com/models",
credential=AzureKeyCredential(os.environ["AZUREAI_ENDPOINT_KEY"]),
)
Découvrez nos exemples, et lisez la documentation de référence API pour vous lancer.
from azure.ai.inference.models import SystemMessage, UserMessage
response = client.complete(
messages=[
SystemMessage(content="You are a helpful assistant."),
UserMessage(content="Explain Riemann's conjecture in 1 paragraph"),
],
model="mistral-large"
)
print(response.choices[0].message.content)
Conseil
Le routage du déploiement n’est pas sensible à la casse.
SDK
Le point de terminaison d’inférence de modèle Azure AI est pris en charge par plusieurs kits de développement logiciel (SDK), notamment le SDK d’inférence Azure AI, le SDK Azure AI Foundry et le SDK Azure OpenAI, qui sont disponibles dans plusieurs langages. Plusieurs intégrations sont également prises en charge dans des infrastructures populaires telles que LangChain, LangGraph, Llama-Index, Semantic Kernel et AG2. Pour plus d’informations, consultez Langages de programmation et kits de développement logiciel (SDK) pris en charge.
Point de terminaison d’inférence Azure OpenAI
Les modèles Azure OpenAI déployés sur les services IA prennent également en charge l’API Azure OpenAI. Cette API expose les fonctionnalités complètes des modèles OpenAI et prend en charge des fonctionnalités supplémentaires telles que les Assistants, les threads, les fichiers et l’inférence par lots.
Les points de terminaison d’inférence Azure OpenAI fonctionnent au niveau du déploiement et ont leur propre URL associée à chacun d’entre eux. Toutefois, le même mécanisme d’authentification peut être utilisé pour les consommer. En savoir plus dans la page de référence de l’API Azure OpenAI
Chaque déploiement a une URL qui correspond aux concaténations de l’URL de base Azure OpenAI et de l’itinéraire /deployments/<model-deployment-name>
.
Important
Il n’existe aucun mécanisme de routage pour le point de terminaison Azure OpenAI, car chaque URL est exclusive pour chaque modèle de déploiement.
SDK
Le point de terminaison Azure OpenAI est pris en charge par le SDK OpenAI (classe AzureOpenAI
) et les SDK Azure OpenAI, qui sont disponibles dans plusieurs langages. Pour plus d’informations, consultez les langages prises en charge.