Application Load Balancer (ALB) Extensible Edition permet d'intégrer plusieurs services de grands modèles de langage (LLM) via un endpoint unique. En configurant des groupes de serveurs AI Service et des règles de transfert basées sur les noms de modèles dans le corps des requêtes, ALB achemine automatiquement les requêtes vers les services AI backend correspondants. Cette approche offre un point d'entrée unifié et simplifie l'intégration côté client.
Cas d'usage
Une entreprise développant des applications AI doit appeler le modèle qwen-turbo d'Alibaba Cloud Model Studio ainsi que le modèle deepseek-chat de DeepSeek. ALB Extensible Edition fournit des groupes de serveurs AI Service permettant aux clients d'envoyer des requêtes compatibles OpenAI à ALB. En spécifiant le nom du modèle dans le corps de la requête, les règles de transfert ALB dirigent les requêtes vers le service LLM backend approprié. Cela crée un endpoint unifié qui réduit la complexité métier et les coûts de maintenance.
Prérequis
Vous avez obtenu l'accès à la préversion publique d'ALB Extensible Edition.
Vous avez créé un Virtual Private Cloud (VPC) dans la région Chine (Ulanqab) avec un vSwitch dans la Zone A et la Zone B. Ces vSwitches disposent d'une configuration SNAT public (nécessaire pour que les groupes de serveurs AI Service puissent appeler des services LLM publics).
Vous avez activé Alibaba Cloud Model Studio et DeepSeek, obtenu les clés API pour ces deux services, et ajouté ces clés comme identifiants dans Identity Management. Si vous possédez plusieurs clés API pour le même fournisseur, ajoutez chaque clé en tant qu'identifiant distinct afin de pouvoir toutes les sélectionner dans le groupe de serveurs.
Vous avez enregistré un nom de domaine personnalisé. Ce tutoriel déployant l'instance ALB dans la région Chine (Ulanqab), le domaine doit avoir complété son dépôt ICP.
Vous avez préparé un certificat serveur correspondant à votre nom de domaine personnalisé. Les certificats achetés hors Alibaba Cloud doivent être importés dans Alibaba Cloud SSL Certificate.
Procédure
1. Créer une instance ALB Extensible Edition
Connectez-vous à la console ALB, sélectionnez la région China (Ulanqab), puis cliquez sur Create ALB.
-
Sur la page d'achat, configurez les paramètres suivants et cliquez sur Create Now.
Region : China (Ulanqab) est sélectionnée par défaut.
Network Type : Sélectionnez Internet.
VPC et Zone : Sélectionnez le VPC cible, choisissez Ulanqab Zone A et Ulanqab Zone B, sélectionnez les vSwitches correspondants, puis activez Automatically assign EIP.
IP Version : Sélectionnez IPv4.
Edition : Sélectionnez Extensible.
Sur la page Confirm Order, vérifiez la configuration de l'instance et cliquez sur Activate Now.
2. Créer des groupes de serveurs AI Service
Créez deux groupes de serveurs AI Service pour vous connecter respectivement à Alibaba Cloud Model Studio et à DeepSeek.
Créer le groupe de serveurs Alibaba Cloud Model Studio
Dans la console ALB - Page Server Groups, cliquez sur Create Server Group. Définissez Server Group Type sur AI Service. Spécifiez un nom facile à reconnaître. Ce tutoriel utilise
sgp-ai-qwen.Cliquez sur Create. Dans la boîte de dialogue The server group is created, cliquez sur Add Backend Server.
-
Dans la boîte de dialogue Add AI Service, configurez les paramètres suivants et cliquez sur OK.
Model provider : Sélectionnez Alibaba Cloud Model Studio.
Endpoint : Ce champ se remplit automatiquement après la sélection du Model provider.
Identity Credential : Sélectionnez l'identifiant créé pour la clé API d'Alibaba Cloud Model Studio. Vous pouvez sélectionner plusieurs identifiants. ALB choisit une clé API parmi les identifiants sélectionnés pour communiquer avec le service LLM. La sélection de plusieurs identifiants répartit la charge sur les quotas d'appels des différentes clés API et améliore la disponibilité.
API Key Health Check : Nous vous recommandons d'activer cette option. Lorsque le backend renvoie un code d'état
401ou429, ALB retire automatiquement la clé API correspondante et achemine les requêtes via les autres clés API disponibles.
Créer le groupe de serveurs DeepSeek
Répétez les étapes précédentes pour créer un second groupe de serveurs AI Service nommé
sgp-ai-deepseek.Lorsque vous cliquez sur Add Backend Server, définissez Model provider sur DeepSeek, réglez Identity Credential sur l'identifiant créé pour la clé API DeepSeek (plusieurs identifiants sont également pris en charge), activez API Key Health Check, puis cliquez sur OK.
3. Créer un listener
Dans la console ALB, cliquez sur l'ID de l'instance cible pour accéder à la page Instance Details. Cliquez sur l'onglet Listener puis sur Create Listener.
À l'étape Configure Listener, définissez Listener Protocol sur HTTPS et Listener Port sur
443. Cliquez ensuite sur Next.À l'étape Configure SSL Certificate, sélectionnez le certificat serveur correspondant à votre nom de domaine personnalisé et cliquez sur Next.
-
À l'étape Select Server Group, sélectionnez le type AI Service ainsi que le groupe de serveurs Alibaba Cloud Model Studio nommé
sgp-ai-qwen. Cliquez ensuite sur Next.Le groupe de serveurs sélectionné ici sert à la règle par défaut du listener. Cette règle traite les requêtes ne correspondant à aucune autre règle de transfert. Ajustez les paramètres selon vos besoins.
À l'étape Configuration Review, vérifiez la configuration et cliquez sur Submit.
4. Configurer les règles de transfert
Les requêtes sont évaluées par rapport aux règles de transfert par ordre de priorité croissante. Lorsqu'une requête correspond à une règle, l'action associée s'exécute et aucune règle ultérieure n'est évaluée. Créez des règles de transfert avec la condition AI Model pour acheminer les requêtes vers le service AI backend approprié en fonction du nom du modèle présent dans le corps de la requête.
Configurer la règle de transfert pour Alibaba Cloud Model Studio
Dans l'onglet Listener de la page de détails de l'instance, cliquez sur l'ID du listener cible. Sur la page Listener Details, cliquez sur l'onglet Forwarding Rules.
-
Cliquez sur Add New Rule, configurez les paramètres suivants, puis cliquez sur OK.
Pour Add Condition, sélectionnez AI Model.
Model Name : Saisissez
qwen-turbo.Action : Forward To le groupe de serveurs
sgp-ai-qwen.
Configurer la règle de transfert pour DeepSeek
Répétez les étapes précédentes pour ajouter une seconde règle de transfert.
Définissez Model Name sur
deepseek-chatet sélectionnez Forward To le groupe de serveurssgp-ai-deepseek.
Le paramètre Model Name est facultatif. La condition de transfert AI Model correspond à toutes les requêtes dont le chemin est/v1/completions,/v1/chat/completionsou/v1/embeddings, et dont le contenu respecte le protocole compatible OpenAI. Si vous spécifiez un Model Name , le champmodeldans le corps de la requête doit également correspondre au nom de modèle spécifié.
5. Configurer la résolution DNS
Pointez votre nom de domaine personnalisé vers le nom DNS de l'instance ALB à l'aide d'un enregistrement CNAME (Canonical Name). Les clients accèdent à ALB via votre nom de domaine personnalisé.
Ce tutoriel utilise Alibaba Cloud DNS comme exemple. Pour les noms de domaine non enregistrés auprès d'Alibaba Cloud, vous devez d'abord ajouter le nom de domaine à la console Alibaba Cloud DNS.
Dans la console ALB, copiez le Domain Name de l'instance cible.
Connectez-vous à la console Alibaba Cloud DNS. Dans la colonne Actions du nom de domaine cible, cliquez sur Settings. Sur la page Settings, cliquez sur Add Record.
-
Ajoutez un enregistrement CNAME avec les informations suivantes et cliquez sur OK.
Record Type : Sélectionnez CNAME.
Hostname : Saisissez un préfixe de domaine tel que
ai. Si votre domaine racine estexample.com, le domaine d'accès à ALB seraai.example.com.Query Source et TTL : Conservez les valeurs par défaut.
Record Value : Saisissez le nom DNS de l'instance ALB.
Dans la boîte de dialogue Change Resource Record Confirmation, vérifiez les informations DNS et cliquez sur OK.
6. Vérifier la configuration
Utilisez des commandes curl pour vérifier que les requêtes sont correctement acheminées vers les services LLM correspondants. Remplacez
ai.example.compar votre nom de domaine réellement configuré. Assurez-vous que la résolution DNS a pris effet.Les requêtes client doivent respecter le protocole compatible OpenAI. Le chemin de la requête doit être
/v1/completions,/v1/chat/completionsou/v1/embeddings, et le corps de la requête doit contenir un champmodel. Les règles de transfert acheminent les requêtes en fonction de la valeur du champmodel.
Tester Alibaba Cloud Model Studio (modèle qwen-turbo)
curl -v \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-turbo",
"messages": [
{
"role": "user",
"content": "Who are you"
}
]
}' \
https://ai.example.com/v1/chat/completions
Une requête réussie renvoie une réponse semblable à ce qui suit. Le champ model est qwen-turbo, et le champ content contient une présentation de Qwen, ce qui indique que la requête a été correctement acheminée vers Alibaba Cloud Model Studio.
{
"choices": [
{
"message": {
"role": "assistant",
"content": "I am Qwen, a large-scale language model developed by the Tongyi Lab of Alibaba Group. My Chinese name is Tongyi Qianwen, and my English name is Qwen. I can perform various tasks such as answering questions, creating text, logical reasoning, and programming. You can call me Qwen or Tongyi Qianwen. How can I help you?"
},
"finish_reason": "stop",
"index": 0
}
],
"object": "chat.completion",
"model": "qwen-turbo"
}
Tester DeepSeek (modèle deepseek-chat)
curl -v \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{
"role": "user",
"content": "Who are you"
}
]
}' \
https://ai.example.com/v1/chat/completions
Une requête réussie renvoie une réponse semblable à ce qui suit. Le champ model est deepseek-chat, et le champ content contient une présentation de DeepSeek, ce qui indique que la requête a été correctement acheminée vers DeepSeek.
{
"object": "chat.completion",
"model": "deepseek-chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I am DeepSeek, an AI assistant created by DeepSeek company!\n\nI am a plain text model. Although I do not support multi-modal recognition, I have a file upload feature that can help you process images, txt, pdf, ppt, word, excel and other files, and read text information from them for analysis and processing.\n\nSome of my features:\n- Completely free to use, with no paid plans\n- Context length of up to 128K, allowing for very long conversations\n- Supports web search (needs to be enabled manually)\n- Can be used by downloading the app from the official app store\n- Knowledge cutoff is July 2024\n\nI am happy to help you answer questions, assist with thinking, process documents, or engage in various conversations! Is there anything I can help you with? ✨"
},
"logprobs": null,
"finish_reason": "stop"
}
]
}
Nettoyage des ressources
Après les tests, si vous n'avez plus besoin des ressources, suivez ces étapes pour les libérer et éviter des frais inutiles.
-
Supprimer les enregistrements DNS
Dans la console Alibaba Cloud DNS, supprimez l'enregistrement CNAME que vous avez ajouté.
-
Nettoyer les ressources ALB
Dans la console ALB, localisez l'instance cible et cliquez sur Release dans la colonne Actions.
Dans la console Server Group, localisez le groupe de serveurs cible et cliquez sur Delete dans la colonne Actions.
-
Nettoyer les ressources VPC (facultatif)
Si le VPC et les vSwitches ont été créés spécifiquement pour ce tutoriel, vous pouvez les supprimer dans la console VPC.
Informations complémentaires
Facturation
ALB Extensible Edition : Actuellement en préversion publique et gratuit.
Frais d'accès au réseau public : Internet NAT Gateway facture des frais d'instance et des frais Capacity Unit (CU). Les EIP associées à la passerelle NAT et à l'instance ALB Extensible Edition possèdent leurs propres règles de facturation, les frais étant facturés par EIP.
Frais de nom de domaine et de résolution DNS : Outre les frais d'enregistrement de domaine facturés par votre fournisseur de domaines, la configuration de la résolution DNS sur Alibaba Cloud nécessite le paiement de frais de résolution DNS autoritative publique.
Frais de certificat : L'achat de certificats auprès d'Alibaba Cloud ou leur importation dans Alibaba Cloud entraîne des frais de certificat serveur.
Frais liés aux modèles : L'appel des API LLM d'Alibaba Cloud Model Studio et de DeepSeek engendre des frais.
Régions où ALB Extensible Edition est disponible
|
Zone géographique |
Région |
Zone |
|
Chine |
Chine (Ulanqab) |
Zone A, Zone B et Zone C |
|
Chine (Hangzhou) |
Zone J et Zone K |
|
|
Chine (Beijing) |
Zone I, Zone K et Zone L |
|
|
Chine (Shanghai) |
Zone B et Zone F |
|
|
Chine (Hong Kong) |
Zone B, Zone C et Zone D |
|
|
Asie-Pacifique |
Singapour |
Zone A, Zone B et Zone C |
|
Japon (Tokyo) |
Zone B, Zone C et Zone E |
|
|
Malaisie (Kuala Lumpur) |
Zone A, Zone B et Zone C |
|
|
Europe et Amériques |
Allemagne (Francfort) |
Zone A et Zone B |
|
États-Unis (Silicon Valley) |
Zone A et Zone B |
|
|
Moyen-Orient |
EAU (Dubaï) |
Zone A et Zone B |