EAS vous permet de déployer rapidement des modèles sous forme de services d'inférence en ligne. Cette rubrique présente le flux de travail, du déploiement à l'appel du service, en prenant pour exemple le déploiement d'un modèle Qwen3-0,6B avec le framework vLLM.
Pour le déploiement en production de LLM, utilisez le déploiement de LLM adapté aux scénarios ou le déploiement en un clic depuis la galerie de modèles.
I. Prérequis
Activez PAI et créez un espace de travail avec votre compte principal Alibaba Cloud. Dans la PAI console, sélectionnez une région, puis autorisez et activez les produits.
II. Facturation
Cette rubrique utilise des ressources publiques en paiement à l'utilisation pour créer le service de modèle. Pour plus d'informations sur les règles de facturation, consultez la section Facturation EAS.
III. Préparatifs
Pour déployer un service de modèle, préparez les fichiers de modèle et de code (par exemple, une interface web). Si les images Alibaba Cloud disponibles ne répondent pas à vos besoins, créez une image personnalisée.
3,1 Fichiers de modèle
Exécutez le code suivant pour télécharger Qwen3-0,6B depuis ModelScope vers le répertoire ~/.cache/modelscope/hub.
# Download the model
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3-0.6B')
3,2 Fichiers de code
Le framework vLLM construit un service compatible avec l'API OpenAI ; aucun fichier de code distinct n'est donc nécessaire.
Pour une logique métier ou des exigences d'API personnalisées, préparez vos propres fichiers de code. Voici un exemple utilisant Flask :
3,3 Téléchargement des fichiers vers OSS
Utilisez ossutil pour télécharger les fichiers de modèle et de code vers OSS. Montez OSS sur le service afin de lire le fichier de modèle.
Autres options de stockage : Configurations de stockage.
Il est déconseillé d'emballer directement les fichiers dans l'image :
Les mises à jour du modèle nécessitent la reconstruction et le re-téléchargement de l'image.
Les fichiers de modèle volumineux augmentent la taille de l'image, ce qui ralentit les temps de récupération (pull) et de démarrage.
3,4 Préparation de l'image
Qwen3-0,6B nécessite vllm>=0.8.5. L'image officielle EAS vllm:0.11.2-mows0.5.1 répond à cette exigence.
Si aucune image officielle ne convient, créez une image personnalisée. Pour les modèles entraînés sur DSW, créez une image d'instance DSW afin d'assurer la cohérence entre le développement et le déploiement.
IV. Déploiement du service
Connectez-vous à la PAI console. Sélectionnez une région en haut de la page. Ensuite, sélectionnez l'espace de travail souhaité et cliquez sur Elastic Algorithm Service (EAS).
Cliquez sur Deploy Service. Dans la section Custom Model Deployment, cliquez sur Custom Deployment.
-
Configurez les paramètres clés suivants. Conservez les valeurs par défaut pour les autres paramètres.
Deployment Method : sélectionnez Image-based Deployment.
Image Configuration : dans la liste Alibaba Cloud Image, sélectionnez
vllm:0.11.2-mows0.5.1.-
Mount storage : cet exemple stocke le fichier de modèle dans OSS au chemin
oss://examplebucket/models/Qwen/Qwen3-0___6B. Sélectionnez OSS et configurez comme suit.Uri : chemin OSS où se trouve le modèle. Définissez-le sur
oss://examplebucket/models/.Mount Path : chemin de destination dans l'instance de service où le fichier est monté, par exemple
/mnt/data/.
Command : l'image officielle possède une commande de démarrage par défaut. Modifiez-la si nécessaire. Pour cet exemple, remplacez-la par
vllm serve /mnt/data/Qwen/Qwen3-0___6B.Resource Type : sélectionnez Public Resources. Pour Resource Specification, sélectionnez
ecs.gn7i-c16g1.4xlarge. Pour utiliser d'autres types de ressources, consultez la section Configurations des ressources.
Cliquez sur Deploy. Le déploiement du service prend environ 5 minutes. Lorsque le Service Status passe à Running, le service est déployé avec succès.
V. Débogage en ligne
Utilisez le débogage en ligne pour vérifier le service. Configurez la méthode de requête, le chemin et le corps de la requête pour votre modèle.
Pour cet exemple :
Dans l'onglet Inference Service, cliquez sur le service cible pour accéder à la page de vue d'ensemble du service. Basculez vers l'onglet Online Debugging.
-
Dans la section Request Parameter Online Tuning de la page de débogage, définissez les paramètres de requête et cliquez sur Send Request. Paramètres de requête :
Interface de chat : ajoutez
/v1/chat/completionsà l'URL existante.-
En-têtes : ajoutez un en-tête de requête. Définissez la clé sur
Content-Typeet la valeur surapplication/json.Ajoutez également l'en-tête de requête Authorization et définissez la valeur sur l'identifiant d'authentification correspondant.
-
Corps :
{ "model": "/mnt/data/Qwen/Qwen3-0___6B", "messages": [ { "role": "user", "content": "Hello!" } ], "max_tokens": 1024 }
-
Réponse :
Sur la page Online Debugging, envoyez une requête JSON en utilisant la méthode POST. Le corps de la requête inclut
model(le chemin du modèle, par exemple/mnt/data/Qwen/Qwen3-0___6B),messages(contenu du message utilisateur :Hello!), etmax_tokens(défini sur 1024). Le service renvoie un code d'état 200 et le corps de la réponse est un objet JSON au formatchat.completioncontenant la réponse d'inférence du modèle, ce qui indique que le service de modèle a été déployé avec succès et peut répondre normalement aux requêtes.
VI. Appel du service
6,1 Endpoint et token
EAS utilise la passerelle partagée par défaut. Obtenez l'endpoint et le token depuis la vue d'ensemble du service après le déploiement.
Dans l'onglet Inference Service, cliquez sur le nom de votre service pour accéder à la page Overview.
Dans la section Basic Information, cliquez sur View Endpoint Information.
-
Dans le panneau Invocation Method, copiez l'endpoint et le token :
Sélectionnez l'Public address ou l'VPC address selon vos besoins.
Dans les exemples suivants, <EAS_ENDPOINT> représente l'endpoint et <EAS_TOKEN> représente le token.
6,2 Exemples d'appel
Exemples :
curl http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/****/v1/chat/
completions \
-H "Content-Type: application/json" \
-H "Authorization: *********5ZTM1ZDczg5OT**********" \
-X POST \
-d '{
"model": "/mnt/data/Qwen/Qwen3-0___6B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"max_tokens": 1024
}' import requests
# Replace with the actual endpoint.
url = 'http://16********.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/***/v1/chat/completions'
# For the header, set Authorization value to the actual token.
headers = {
"Content-Type": "application/json",
"Authorization": "*********5ZTM1ZDczg5OT**********",
}
# Construct the service request based on the data format required by the model.
data = {
"model": "/mnt/data/Qwen/Qwen3-0___6B",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"max_tokens": 1024
}
# Send the request.
resp = requests.post(url, json=data, headers=headers)
print(resp)
print(resp.content)VII. Arrêt ou suppression du service
Ce service utilise des ressources publiques en paiement à l'utilisation. Arrêtez ou supprimez le service pour éviter toute facturation lorsque vous n'en avez plus besoin.
Dans la liste des services, localisez le service cible et cliquez sur le bouton correspondant dans la colonne Actions.
VIII. Documentation connexe
Améliorer l'efficacité du service LLM : Déployer le routeur intelligent LLM.
Présentation des fonctionnalités EAS : Présentation d'EAS.