Actualización de configuraciones de servicio
Función
Esta API se utiliza para actualizar las configuraciones de un servicio de modelo. También se puede utilizar para iniciar o detener un servicio.
URI
PUT /v1/{project_id}/services/{service_id}
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
ID del proyecto. Para obtener más información sobre cómo obtener un ID de proyecto, consulte Obtención de un ID y un nombre de proyecto. |
service_id |
Sí |
String |
ID de servicio |
Cuerpo de la solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
description |
No |
String |
Descripción del servicio, que contiene un máximo de 100 caracteres. Si este parámetro no está definido, la descripción del servicio no se actualiza. |
status |
No |
String |
Estado del servicio. El valor puede ser running o stopped. Si este parámetro no está definido, el estado del servicio no cambia. status y config no se pueden modificar al mismo tiempo. Si existen ambos parámetros, modifique únicamente el parámetro status. |
config |
No |
config array corresponding to infer_type |
Configuración del servicio. Si este parámetro no está definido, el servicio no se actualiza. El servicio de modelo se modifica y el parámetro update_time se devuelve solo para solicitudes con config actualizado. |
schedule |
No |
schedule array |
Configuración de programación de servicios, que solo se puede configurar para servicios en tiempo real. Por defecto, este parámetro no se utiliza. Los servicios duran mucho tiempo. Para más detalles, consulte Tabla 5. |
additional_properties |
No |
Map<String, Object> |
Atributo de servicio adicional, que facilita la gestión del servicio |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
model_id |
Sí |
String |
ID del modelo |
weight |
Sí |
Integer |
Peso de tráfico asignado a un modelo. Este parámetro es obligatorio solo cuando infer_type se establece en real-time. La suma de los pesos debe ser 100. |
specification |
Sí |
String |
Especificaciones de recursos. Seleccione las especificaciones según los requisitos de servicio. Para la versión actual, están disponibles las siguientes especificaciones:
|
custom_spec |
No |
Object |
Especificaciones personalizadas. Establezca este parámetro cuando utilice un grupo de recursos dedicado. Para más detalles, consulte Implementación de un modelo como servicio. |
instance_count |
Sí |
Integer |
Número de instancias para implementar un modelo. El valor debe ser mayor que 0. |
envs |
No |
Map<String, String> |
(Opcional) Par clave-valor de variable de entorno requerido para ejecutar un modelo. De forma predeterminada, este parámetro se deja en blanco. Para garantizar la seguridad de los datos, no introduzca información confidencial, como contraseñas de texto sin formato, en las variables de entorno. |
cluster_id |
No |
string |
ID de un grupo de recursos dedicado. De forma predeterminada, este parámetro se deja en blanco, lo que indica que no se utiliza ningún grupo de recursos dedicado. Después de establecer este parámetro, se utiliza la configuración de red del clúster y el parámetro vpc_id no tiene efecto. |
additional_properties |
No |
Map<String, Object> |
Atributos adicionales para la implementación del modelo, lo que facilita la gestión de instancias de servicio. Para más detalles, consulte Tabla 8. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
model_id |
Sí |
String |
ID del modelo |
specification |
Sí |
String |
Variante de recursos. Opciones: modelarts.vm.cpu.2u y modelarts.vm.gpu.p4 |
instance_count |
Sí |
Integer |
Número de instancias para implementar un modelo. |
envs |
No |
Map<String, String> |
(Opcional) Par clave-valor de variable de entorno requerido para ejecutar un modelo. De forma predeterminada, este parámetro se deja en blanco. Para garantizar la seguridad de los datos, no introduzca información confidencial, como contraseñas de texto sin formato, en las variables de entorno. |
src_type |
No |
String |
Tipo de origen de datos. Este parámetro se puede establecer en ManifestFile. Por defecto, este parámetro se deja en blanco, lo que indica que solo se leen los archivos del directorio src_path. Si este parámetro se establece en ManifestFile src_path debe ser una ruta de archivo de manifiesto específica. Puede especificar varias rutas de datos en el archivo de manifest. |
src_path |
Sí |
String |
Ruta OBS de los datos de entrada de un trabajo por lotes |
dest_path |
Sí |
String |
Ruta OBS de los datos de salida de un trabajo por lotes |
req_uri |
Sí |
String |
API de inferencia llamada en un trabajo por lotes, que es una API REST en la imagen del modelo. Seleccione un URI de API del archivo config.json modelo para inferencia. Si se utiliza una imagen de inferencia incorporada de ModelArts el valor de este parámetro es /. |
mapping_type |
Sí |
String |
Tipo de asignación de los datos de entrada. El valor puede ser file o csv.
|
mapping_rule |
No |
Map |
Mapeo entre los parámetros de entrada y los datos CSV. Este parámetro es obligatorio solo cuando mapping_type se establece en csv. Regla de asignación: La regla de asignación proviene del parámetro de entrada (input_params) en el archivo de configuración del modelo config.json. Cuando type se establece en string, number, integer, o boolean, configure el parámetro index. El índice debe ser un entero positivo a partir de 0. Si el valor de índice no cumple con la regla, este parámetro se omitirá en la solicitud. Después de configurar la regla de asignación, los datos CSV deben estar separados por comas (,). |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
type |
Sí |
String |
Tipo de programación. Solo se admite el valor stop. |
time_unit |
Sí |
String |
Unidad de tiempo de programación. Los valores posibles son DAYS, HOURS, y MINUTES. |
duration |
Sí |
Integer |
Valor que se asigna a la unidad de tiempo. Por ejemplo, si la tarea se detiene después de dos horas, establezca time_unit en HOURS y duration en 2. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
persistent_volumes |
Sí |
persistentVolume array |
Montaje de almacenamiento persistente. Para más detalles, consulte Tabla 7. |
log_volume |
Sí |
logVolume array |
Montaje de directorio de host. Para más detalles, consulte Tabla 8. Este parámetro solo tiene efecto si se utiliza un grupo de recursos dedicado. Si se utiliza un grupo de recursos público para implementar servicios, este parámetro no se puede configurar. De lo contrario, se producirá un error. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
String |
Nombre de la imagen |
mount_path |
Sí |
String |
Ruta de montaje de una imagen en el contenedor |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
host_path |
Sí |
String |
Ruta de registro que se asignará en el host |
mount_path |
Sí |
String |
Ruta de acceso a los registros del contenedor |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
cpu |
Sí |
Float |
Número de CPUs requeridas |
memory |
Sí |
Integer |
Capacidad de memoria requerida, en MB |
gpu_p4 |
No |
Float |
Número de GPUs, que pueden ser decimales. Este parámetro es opcional. Por defecto, no se utiliza. |
ascend_a310 |
No |
Integer |
Number of NPUs, which can be decimals. This parameter is optional. By default, it is not used. |
Cuerpo de respuesta
Ninguno
Muestras
A continuación se muestra cómo actualizar un servicio en tiempo real.
- Muestra de solicitud
PUT https://endpoint/v1/{project_id}/services/{service_id} { "description": "", "status": "running", "config": [{ "model_id": "xxxx", "weight": "100", "specification": "modelarts.vm.cpu.2u", "instance_count": 1 }] }
- Muestra de respuesta
{}
Código de estado
Para obtener más información sobre el código de estado, consulte Obtención de un ID y un nombre de proyecto.