Cria um serviço de modelo no Elastic Algorithm Service (EAS).
Descrição da operação
**Antes de chamar esta operação, certifique-se de que você está familiarizado com a cobrança do Elastic Algorithm Service (EAS).
Experimente agora
Testar
Autorização RAM
Sintaxe da solicitação
POST /api/v2/services HTTP/1.1
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| body |
string |
Não |
O corpo da solicitação. Para mais informações sobre os principais parâmetros da solicitação, consulte Tabela 1. Parâmetros do corpo da solicitação e Tabela 2. Parâmetros de metadata. Para mais informações sobre todos os parâmetros relacionados, consulte Parâmetros de serviços de modelo. |
Image deployment service: { "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" } ] } image deploymentAI-Web application: { "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" } ] } model+processor deployment service: { "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 |
Não |
Especifica se o modo de desenvolvimento deve ser ativado. Valores válidos:
Valores válidos:
|
true |
| Labels |
object |
Não |
O rótulo personalizado. |
|
|
string |
Não |
O rótulo. |
{"key":"value"} |
|
| WorkspaceId |
string |
Não |
O ID do workspace. |
123456 |
Tabela 1. Parâmetros do corpo da solicitação
| Parâmetro | Tipo | Obrigatório | Descrição |
| name | String | Sim | O nome do serviço, que deve ser exclusivo em uma região. |
| token | String | Não | O token para autenticação. Se você não especificar um token e generate_token estiver definido como true, o token será gerado automaticamente. |
| model_path | String | Não | O caminho do arquivo de modelo. Você pode especificar um endereço HTTP ou um caminho do Object Storage Service (OSS). Se você especificar um endereço HTTP, o endereço HTTP deve ser acessível publicamente. Se você especificar um caminho do OSS, o caminho pode ser um diretório ou nome de arquivo. Se você especificar um arquivo .tar.gz, .tar.bz2 ou .zip, o sistema descompactará o arquivo automaticamente. |
| role_arn | string | Não | Se você definir model_path ou processor_path como um endereço OSS, será necessário especificar o parâmetro role_arn para acessar o OSS e o parâmetro Role_ARN para obter o role_arn. |
| oss_endpoint | String | Não | O endpoint do bucket OSS. Se você definir model_path ou processor_path como um caminho do OSS, será necessário especificar este parâmetro. |
| model_entry | String | Não | O arquivo principal do modelo. Qualquer arquivo pode ser especificado como o arquivo principal do modelo. Se nenhum arquivo for especificado, o arquivo especificado por model_path será usado como o arquivo principal do modelo. O caminho do arquivo principal é entregue à função Load() no processador. |
| processor_path | String | Sim | O caminho do arquivo do processador. Você pode especificar um arquivo local ou um endereço HTTP. Se você especificar um arquivo .tar.gz, .tar.bz2 ou .zip, o sistema descompactará o arquivo automaticamente. |
| processor_entry | String | Não | Se você definir processor_type como C, C++ ou Python, este parâmetro será obrigatório. O arquivo principal do processador. O arquivo principal contém as implementações das funções Load() e Process() necessárias para a predição. |
| processor_mainclass | String | Não | Se você definir processor_type como Java, este parâmetro será obrigatório. A classe principal no pacote JAR do processador. |
| processor_type | String | Sim | A linguagem usada para implementar o processador. Valores válidos: C, C++, Java e Python. |
| metadata | Dict | Não | Os metadados do serviço. Para mais informações, consulte a Tabela 2. |
| cloud | Dict | Não | A chave do mapa. Este parâmetro é obrigatório apenas se você especificar um tipo de instância para implantar o serviço. Você deve especificar este parâmetro no seguinte formato: "cloud":{"computing":{"instance_type": "ecs.gxxxxxx.large"}}. |
| containers | List | Não | O método de implantação de contêiner implementado usando imagens personalizadas. Se o contêiner implantado usando o processador não atender aos seus requisitos, você poderá implantar o contêiner usando imagens personalizadas. Para mais informações, consulte Implantar um serviço de modelo usando uma imagem personalizada. |
Descrição O parâmetro model_path e o parâmetro processor_path especificam as origens da entrada do modelo e da entrada do processador. Você pode definir os caminhos como endereços HTTP ou caminhos do OSS. Ao usar o comando de teste para depurar o modelo em sua máquina local, você pode definir os parâmetros como arquivos e diretórios locais.
Se você usar um endereço HTTP, deverá compactar os arquivos relevantes em arquivos .tar.gz, .tar.bz2 ou .zip. Em seguida, você poderá fazer upload dos arquivos para o OSS para gerar um endereço HTTP.
Se você usar um caminho do OSS, poderá inserir um diretório ou nome de arquivo como caminho.
Tabela 2. Parâmetros de metadata
| Parâmetro | Tipo | Obrigatório | Descrição | Exemplo |
| instance | Int | Não | O número de workers necessários para iniciar o serviço. | 1 |
| cpu | Int | Não | O número de CPUs necessárias para cada worker. | 1 |
| gpu | Int | Não | O número de GPUs necessárias para cada worker. | 0 |
| memory | Int | Não | O tamanho da memória necessária para cada worker. Unidade: MB. | 1000 |
| resource | String | Não | O grupo de recursos ao qual o serviço pertence. | eas-r-aaabbbccc |
| rpc.worker_threads | Int | Não | O número de threads usadas para processar solicitações simultaneamente em cada instância. | 5 |
| rpc.max_queue_size | Int | Não | O tamanho máximo de uma fila para processamento de solicitações. Se a fila estiver cheia, novas solicitações serão descartadas e um código de status HTTP 450 será retornado. | 64 |
| rpc.keepalive | Int | Não | O período de tempo limite da solicitação. Unidade: milissegundos. | 5000 |
| rpc.rate_limit | Int | Não | O valor de consultas por segundo (QPS) que aciona a limitação de solicitações para uma única instância. Se o QPS for excedido, novas solicitações serão descartadas e um código de status HTTP 429 será retornado. | 0 |
| release | Bool | Não | Especifica se um serviço para lançamento canário deve ser criado. Valores válidos: true e false. Se você definir este parâmetro como true, será necessário criar um serviço para lançamento canário. | false |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
Os parâmetros de resposta. |
||
| RequestId |
string |
O ID da solicitação. |
40325405-579C-4D82**** |
| ServiceId |
string |
O ID do serviço criado. |
eas-m-aaxxxddf |
| ServiceName |
string |
O nome do serviço criado. |
yourname |
| Status |
string |
O status do serviço. |
Creating |
| Region |
string |
O ID da região do serviço criado. |
cn-shanghai |
| InternetEndpoint |
string |
O endpoint público do serviço criado. |
http://pai-eas.vpc.cn-shanghai.**** |
| IntranetEndpoint |
string |
O endpoint interno do serviço criado. |
http://pai-eas.cn-shanghai.**** |
Exemplos
Resposta de sucesso
JSON formato
{
"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.****"
}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.