Tous les produits
Search
Centre de documentation

Platform For AI:Déploiement personnalisé via la console

Dernière mise à jour :Aug 09, 2026

Le déploiement personnalisé d'EAS (Elastic Algorithm Service) offre une méthode flexible et complète pour héberger des services d'inférence IA, vous permettant d'empaqueter n'importe quel algorithme ou modèle en un service en ligne.

Remarque

Nous vous recommandons d'essayer d'abord le déploiement basé sur des scénarios pour les cas d'utilisation tels que les LLM et ComfyUI. Si cette approche ne répond pas à vos besoins, utilisez le déploiement personnalisé.

Démarrage rapide : Déployer un service web simple

Cette rubrique explique comment déployer rapidement un service web simple en utilisant le déploiement basé sur une image.

Étape 1 : Préparer le fichier de code

Enregistrez le code de l'application Flask suivant dans un fichier app.py. Notez que le service écoute sur le port 8000.

app.py

from flask import Flask

app = Flask(__name__)

@app.route('/hello')
def hello_world():
    # Your model inference or other business logic goes here.
    return 'Hello World'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)

Étape 2 : Charger le code sur OSS

Chargez le fichier app.py dans un bucket OSS. Assurez-vous que le bucket OSS et l'espace de travail EAS se trouvent dans la même région. Par exemple, chargez le fichier dans le répertoire oss://examplebucket/code/.

Étape 3 : Configurer et déployer le service

  1. Connectez-vous à la console PAI. Sélectionnez une région en haut de la page. Choisissez ensuite l'espace de travail souhaité et cliquez sur Elastic Algorithm Service (EAS).

  2. Dans l'onglet Inference Service, cliquez sur Deploy Service. Dans la section Custom Model Deployment, cliquez sur Custom Deployment.

  3. Sur la page de configuration, définissez les paramètres clés dans les sections Environment Information et Resource Information comme suit :

    • Deployment Method : Sélectionnez Image-based Deployment.

    • Image Configuration : Choisissez l'Alibaba Cloud Image python-inference:3.9-ubuntu2004.

    • Storage Mounting : Montez le répertoire OSS contenant le fichier app.py sur le chemin /mnt/data/ du conteneur.

      • URI : Sélectionnez le répertoire OSS où se trouve votre code. Dans cet exemple, il s'agit de oss://examplebucket/code/.

      • Mount Path : Spécifiez un chemin local dans le conteneur pour ce répertoire. Dans cet exemple, le chemin est /mnt/data/.

    • Command : Puisque app.py a été monté dans le répertoire /mnt/data/ du conteneur, la commande de démarrage est : python /mnt/data/app.py.

    • Third-party Library Settings : L'exemple de code dépend de la bibliothèque flask, qui n'est pas incluse dans l'image officielle sélectionnée. Ajoutez flask aux Third-party Libraries. EAS installe automatiquement la bibliothèque au démarrage du service.

    • Resource Configuration : Allouez les ressources de calcul appropriées au service. Pour cet exemple simple, une petite instance CPU suffit.

      • Resource Type : Ressources publiques.

      • Resource Specification : Sélectionnez ecs.c7.large.

  4. Une fois la configuration terminée, cliquez sur Deploy. Lorsque le statut du service passe à Running, vous pouvez appeler le service.

Configuration supplémentaire

Environnement d'exécution

Dans la section Environment Information, configurez l'environnement d'exécution et les dépendances de votre service.

Paramètre

Description

Image Configuration

L'environnement d'exécution de base du service. Vous pouvez utiliser les images officielles fournies par PAI, ou utiliser votre propre image en sélectionnant Custom Image ou en saisissant une Image Address. Pour plus d'informations, consultez Images personnalisées.

Remarque

Si l'image inclut une interface Web UI, sélectionnez Enable Web App. EAS démarre automatiquement le serveur web, vous permettant d'accéder directement à la page frontale.

Mount storage

Montez des modèles, du code ou des données depuis des services de stockage cloud tels qu'OSS et NAS vers un chemin local dans le conteneur. Cette pratique découple le code et les données de l'environnement et simplifie les mises à jour indépendantes. Pour plus d'informations, consultez le montage du stockage.

Mount dataset

Pour gérer les versions de vos modèles ou de vos données, vous pouvez utiliser la fonctionnalité Dataset pour le montage. Pour plus d'informations, consultez Créer et gérer des datasets.

Command

Définissez la commande de démarrage de l'image, par exemple python /run.py.

Port Number

Définissez le port d'écoute du service. Cette étape est facultative dans certains scénarios.

Par exemple, si votre service s'abonne à une file d'attente de messages au lieu de dépendre du trafic provenant de la passerelle EAS, la spécification d'un port est optionnelle.

Important

Le moteur EAS réserve les ports 8080 et 9090. Pour éviter les conflits au démarrage, n'utilisez pas ces ports lors du déploiement d'un nouveau service.

Third-party Library Settings

Si vous avez seulement besoin d'installer quelques bibliothèques Python supplémentaires, vous pouvez ajouter directement les noms des bibliothèques ou spécifier un Path of requirements.txt pour éviter de reconstruire l'image.

Environment Variables

Définissez les variables d'environnement de l'instance de service sous forme de paires clé-valeur.

Ressources de calcul

Dans la section Resource Information, configurez les ressources de calcul de votre service, notamment en sélectionnant un type de ressource et une spécification d'instance, en configurant le disque système, et en définissant le nombre de réplicas ainsi que les politiques de planification. Pour plus d'informations, consultez la configuration des ressources.

Réseau du service

  • VPC : Configurez un VPC si votre service doit accéder à des ressources du réseau public, à des bases de données ou à des files d'attente de messages au sein d'un VPC, ou si vous souhaitez que les clients appellent le service directement via un VPC. Pour plus d'informations, consultez la rubrique Accès aux ressources du réseau public ou interne.

  • Appel de service : Après le déploiement, choisissez une méthode d'appel adaptée à votre scénario métier, telle qu'une passerelle, NLB, Nacos ou gRPC. Pour plus d'informations, consultez la rubrique sur l'appel de service.

Sécurité du service

Dans la section Features, configurez l'authentification et la sécurité des données de votre service.

Paramètre

Description

Custom Authentication

Si vous ne souhaitez pas utiliser le jeton généré par le système, personnalisez le jeton d'authentification pour l'accès au service.

Configure Secure Encryption Environment

Intégrez le service de gestion de la confiance du système pour chiffrer de manière sécurisée les données, les modèles et le code pendant le déploiement et l'appel, permettant ainsi une inférence de confiance. Cette fonctionnalité s'applique principalement aux fichiers de stockage montés. Activez cette fonctionnalité après avoir configuré le montage du stockage. Pour plus d'informations, consultez le service d'inférence chiffré sécurisé.

Instance RAM Role

L'association d'un rôle RAM d'instance à une instance permet au code du service d'utiliser les informations d'identification temporaires du Security Token Service (STS) pour accéder à d'autres ressources cloud. Cette méthode élimine le besoin d'AccessKeys fixes, réduisant ainsi le risque de fuite de clés. Pour plus d'informations, consultez la rubrique Configurer un rôle RAM EAS.

AI Safety Guardrail

Cette fonctionnalité effectue des vérifications de sécurité du contenu sur les entrées et sorties des services d'inférence LLM afin d'intercepter les contenus nuisibles. Elle prend en charge les API OpenAI Completions (texte vers texte), Chat Completions (texte vers texte) et Image Generation (texte vers image)..

Remarque

Cette fonctionnalité est disponible uniquement dans la région Chine (Shanghai).

Visibility

Contrôle la visibilité du service dans la liste des services :

  • Visible in Workspace : Tous les membres de l'espace de travail peuvent voir le service. Ceci est adapté à la collaboration en équipe.

  • Owner Only : Seul l'utilisateur qui a créé le service peut le voir. Ceci est adapté aux tests personnels ou aux services sensibles.

Stabilité du service

Dans la section Features, configurez les paramètres suivants liés à la stabilité :

  • Service Response Timeout Period : Configurez le délai d'expiration pour chaque requête. La valeur par défaut est de 5 secondes. Pour les scénarios gourmands en temps, tels que l'inférence de grands modèles ou la sortie en streaming, augmentez cette valeur pour éviter que les requêtes ne soient tronquées.

  • Health Check : Le système sonde périodiquement la vitalité des instances, remplaçant automatiquement les instances anormales pour permettre une auto-réparation des pannes. Pour plus d'informations, consultez la rubrique sur les contrôles de santé.

  • Compute monitoring & fault tolerance : Surveille en temps réel l'état de santé des ressources de calcul pour les services d'inférence distribuée, permettant la détection automatique des pannes et l'auto-réparation intelligente. Pour plus d'informations, consultez la rubrique sur la surveillance de la puissance de calcul et la tolérance aux pannes.

  • Stratégies de déploiement et de mise à jour : Utilisez des fonctionnalités telles que le déploiement canari, les mises à jour progressives, l'arrêt gracieux et les plannings de mise à jour pour garantir un service ininterrompu lors des mises à niveau de version du service. Pour plus d'informations, consultez la rubrique sur la gestion des versions.

Performances du service

Utilisez l'accélération du stockage et la planification intelligente pour améliorer les performances du service, accélérer la vitesse de démarrage, augmenter le débit et réduire la latence.

  • Distributed cache acceleration : Met en cache les fichiers de modèle ou de données du stockage monté, tel qu'OSS, sur le stockage local de l'instance pour réduire la latence des E/S. Pour plus d'informations, consultez la rubrique sur l'accélération du cache de modèle.

  • Model Weight Service (MoWS) : Améliore considérablement l'efficacité de la mise à l'échelle et la vitesse de démarrage du service pour les déploiements d'instances à grande échelle en mettant en cache localement les poids du modèle et en les partageant entre les instances. Pour plus d'informations, consultez le Model Weight Service.

  • LLM Intelligent Router : Pour les services LLM disposant de plusieurs instances backend, cette fonctionnalité distribue dynamiquement les requêtes en fonction de la charge backend. Cela équilibre la puissance de calcul et l'utilisation de la mémoire GPU entre les instances et améliore l'utilisation des ressources du cluster. Pour plus d'informations, consultez la rubrique sur le déploiement du routeur intelligent LLM.

Observabilité du service

Dans la section Features, activez les fonctionnalités d'observabilité suivantes pour obtenir des informations sur l'état du service et résoudre les problèmes :

Paramètre

Description

Save Call Records

Conservez tous les enregistrements de requêtes et de réponses du service dans MaxCompute ou Simple Log Service à des fins d'audit, d'analyse ou de dépannage.

  • MaxCompute : Sélectionnez un MaxCompute Project existant (ou créez-en un si vous n'en avez pas) et spécifiez un nom pour la MaxCompute Table. Le système crée automatiquement cette table dans le projet sélectionné lors du déploiement du service.

  • Simple Log Service : Sélectionnez un Simple Log Service Project existant (ou créez-en un si vous n'en avez pas) et spécifiez un nom pour le logstore. Le système crée automatiquement ce Logstore dans le projet sélectionné lors du déploiement du service.

Tracing Analysis

Certaines images officielles intègrent un composant de collecte qui vous permet d'activer le traçage en un clic. Pour les autres images, vous pouvez intégrer un agent ARMS via une configuration simple pour une surveillance de bout en bout de la chaîne d'appel du service. Pour plus d'informations, consultez la rubrique Activer le traçage pour les applications LLM dans EAS. Pour configurer le traçage :

  • Dans le champ Command, ajoutez aliyun-bootstrap -a install && aliyun-instrument python app.py pour installer l'agent et démarrer l'application avec l'agent ARMS Python. Remplacez app.py par le fichier principal de votre application.

  • Dans la section Third-party Library Configuration, ajoutez aliyun-bootstrap pour télécharger le programme d'installation de l'agent depuis le dépôt PyPI.

Services asynchrones et élastiques

  • Inférence asynchrone : Pour les scénarios d'inférence de longue durée tels que l'AIGC et le traitement vidéo, nous vous recommandons d'activer une Asynchronous Queue. Le client reçoit une réponse immédiate et peut récupérer le résultat final par interrogation (polling) ou via un rappel. Pour plus d'informations, consultez la rubrique Déployer un service d'inférence asynchrone.

  • Elastic Job Service : Dans la section Features, activez le Task Mode pour déployer le service d'inférence en tant que service de tâches à la demande. Ceci est adapté au traitement par lots de données et aux tâches planifiées. Les ressources sont automatiquement libérées après l'achèvement de la tâche pour réduire les coûts. Pour plus d'informations, consultez l'Elastic Job Service.

Configuration JSON

Dans la section Service Configuration, vous pouvez afficher et modifier directement la configuration JSON complète correspondant aux paramètres actuels de l'interface utilisateur.

Remarque

Pour l'automatisation et une configuration fine, vous pouvez également définir et déployer des services directement à l'aide d'un fichier JSON. Pour plus d'informations, consultez la rubrique Déployer des services à l'aide de JSON.