Crée un service de modèle dans Elastic Algorithm Service (EAS).
Description de l'opération
Avant d'appeler cette opération, assurez-vous de bien connaître la facturation d'Elastic Algorithm Service (EAS).
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
Syntaxe de la requête
POST /api/v2/services HTTP/1.1
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| body |
string |
Non |
Le corps de la requête. Pour plus d'informations sur les paramètres de requête clés, consultez le Tableau 1. Paramètres du corps de la requête et le Tableau 2. Paramètres de métadonnées. Pour plus d'informations sur tous les paramètres associés, consultez Paramètres des services de modèle. |
Service de déploiement d'image : { "name": "foo", "metadata": { "instance": 2, "memory": 7000, "cpu": 4 }, "containers": [ { "image": "****", "script": "**** --listen=0.0.0.0 --server_port=8000 --headless", "port": 8000 } ], "storage": [ { "oss": { "path": "oss://examplebuket/data111/", "readOnly": false }, "properties": { "resource_type": "model" }, "mount_path": "/data" } ] } Déploiement d'une application Web IA par image : { "name": "foo", "metadata": { "instance": 1, "memory": 7000, "cpu": 4, "enable_webservice": true }, "containers": [ { "image": "****", "script": "**** --listen=0.0.0.0 --server_port=8000 --headless", "port": 8000 } ], "storage": [ { "oss": { "path": "oss://examplebucket/data111/", "readOnly": false }, "properties": { "resource_type": "model" }, "mount_path": "/data" } ] } Service de déploiement de modèle et de processeur : { "metadata": { "instance": 1, "memory": 7000, "cpu": 4 }, "name": "foo", "model_config": {}, "processor_type": "python", "processor_path": "oss://****", "processor_entry": "a.py", "model_path": "oss://****" } |
| Develop |
string |
Non |
Indique si le mode développement doit être activé. Valeurs valides :
Valeurs valides :
|
true |
| Labels |
object |
Non |
Le libellé personnalisé. |
|
|
string |
Non |
Le libellé. |
{"key":"value"} |
|
| WorkspaceId |
string |
Non |
L'identifiant de l'espace de travail. |
123456 |
Tableau 1. Paramètres du corps de la requête
| Paramètre | Type | Obligatoire | Description |
| name | String | Oui | Le nom du service, qui doit être unique dans une région. |
| token | String | Non | Le jeton d'authentification. Si vous ne spécifiez pas de jeton et que generate_token est défini sur true, le jeton est généré automatiquement. |
| model_path | String | Non | Le chemin du fichier de modèle. Vous pouvez spécifier une adresse HTTP ou un chemin Object Storage Service (OSS). Si vous spécifiez une adresse HTTP, celle-ci doit être accessible publiquement. Si vous spécifiez un chemin OSS, le chemin peut être un répertoire ou un nom de fichier. Si vous spécifiez un fichier .tar.gz, .tar.bz2 ou .zip, le système décompresse automatiquement le fichier. |
| role_arn | string | Non | Si vous définissez model_path ou processor_path sur une adresse OSS, vous devez spécifier le paramètre role_arn pour accéder à OSS et le paramètre Role_ARN pour obtenir le role_arn. |
| oss_endpoint | String | Non | Le point de terminaison du compartiment OSS. Si vous définissez model_path ou processor_path sur un chemin OSS, vous devez spécifier ce paramètre. |
| model_entry | String | Non | Le fichier principal du modèle. N'importe quel fichier peut être spécifié comme fichier principal du modèle. Si aucun fichier n'est spécifié, le fichier spécifié par model_path est utilisé comme fichier principal du modèle. Le chemin du fichier principal est transmis à la fonction Load() dans le processeur. |
| processor_path | String | Oui | Le chemin du fichier de processeur. Vous pouvez spécifier un fichier local ou une adresse HTTP. Si vous spécifiez un fichier .tar.gz, .tar.bz2 ou .zip, le système décompresse automatiquement le fichier. |
| processor_entry | String | Non | Si vous définissez processor_type sur C, C++ ou Python, ce paramètre est obligatoire. Le fichier principal du processeur. Le fichier principal contient les implémentations des fonctions Load() et Process() requises pour la prédiction. |
| processor_mainclass | String | Non | Si vous définissez processor_type sur Java, ce paramètre est obligatoire. La classe principale dans le package JAR du processeur. |
| processor_type | String | Oui | Le langage utilisé pour implémenter le processeur. Valeurs valides : C, C++, Java et Python. |
| metadata | Dict | Non | Les métadonnées du service. Pour plus d'informations, consultez le Tableau 2. |
| cloud | Dict | Non | La clé de mappage. Ce paramètre n'est requis que si vous spécifiez un type d'instance pour déployer le service. Vous devez spécifier ce paramètre au format suivant : "cloud":{"computing":{"instance_type": "ecs.gxxxxxx.large"}}. |
| containers | List | Non | La méthode de déploiement de conteneurs implémentée à l'aide d'images personnalisées. Si le conteneur déployé à l'aide du processeur ne répond pas à vos besoins, vous pouvez déployer le conteneur à l'aide d'images personnalisées. Pour plus d'informations, consultez Déployer un service de modèle à l'aide d'une image personnalisée. |
Description Les paramètres model_path et processor_path spécifient les sources de l'entrée du modèle et de l'entrée du processeur. Vous pouvez définir les chemins sur des adresses HTTP ou des chemins OSS. Lorsque vous utilisez la commande test pour déboguer le modèle sur votre machine locale, vous pouvez définir les paramètres sur des fichiers et répertoires locaux.
Si vous utilisez une adresse HTTP, vous devez compresser les fichiers concernés dans des fichiers .tar.gz, .tar.bz2 ou .zip. Ensuite, vous pouvez télécharger les fichiers vers OSS pour générer une adresse HTTP.
Si vous utilisez un chemin OSS, vous pouvez saisir un répertoire ou un nom de fichier comme chemin.
Tableau 2. Paramètres de métadonnées
| Paramètre | Type | Obligatoire | Description | Exemple |
| instance | Int | Non | Le nombre de workers requis pour démarrer le service. | 1 |
| cpu | Int | Non | Le nombre de processeurs requis par chaque worker. | 1 |
| gpu | Int | Non | Le nombre de GPU requis par chaque worker. | 0 |
| memory | Int | Non | La taille de mémoire requise par chaque worker. Unité : Mo. | 1000 |
| resource | String | Non | Le groupe de ressources auquel le service appartient. | eas-r-aaabbbccc |
| rpc.worker_threads | Int | Non | Le nombre de threads utilisés pour traiter simultanément les requêtes dans chaque instance. | 5 |
| rpc.max_queue_size | Int | Non | La taille maximale d'une file d'attente pour le traitement des requêtes. Si la file d'attente est pleine, les nouvelles requêtes sont abandonnées et un code d'état HTTP 450 est renvoyé. | 64 |
| rpc.keepalive | Int | Non | Le délai d'expiration de la requête. Unité : millisecondes. | 5000 |
| rpc.rate_limit | Int | Non | La valeur de requêtes par seconde (QPS) qui déclenche la limitation des requêtes pour une instance unique. Si le QPS est dépassé, les nouvelles requêtes sont abandonnées et un code d'état HTTP 429 est renvoyé. | 0 |
| release | Bool | Non | Indique s'il faut créer un service pour un déploiement canari. Valeurs valides : true et false. Si vous définissez ce paramètre sur true, vous devez créer un service pour un déploiement canari. | false |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
Les paramètres de la réponse. |
||
| RequestId |
string |
L'identifiant de la requête. |
40325405-579C-4D82**** |
| ServiceId |
string |
L'identifiant du service créé. |
eas-m-aaxxxddf |
| ServiceName |
string |
Le nom du service créé. |
votrenom |
| Status |
string |
L'état du service. |
Creating |
| Region |
string |
L'identifiant de la région du service créé. |
cn-shanghai |
| InternetEndpoint |
string |
Le point de terminaison public du service créé. |
http://pai-eas.vpc.cn-shanghai.**** |
| IntranetEndpoint |
string |
Le point de terminaison interne du service créé. |
http://pai-eas.cn-shanghai.**** |
Exemples
JSON format
{
"RequestId": "40325405-579C-4D82****",
"ServiceId": "eas-m-aaxxxddf",
"ServiceName": "yourname",
"Status": "Creating",
"Region": "cn-shanghai",
"InternetEndpoint": "http://pai-eas.vpc.cn-shanghai.****",
"IntranetEndpoint": "http://pai-eas.cn-shanghai.****"
}
Codes d'erreur
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.