Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda> ModelArts> Referencia de la API> Gestión de servicios> Actualización de configuraciones de servicio
Actualización más reciente 2024-06-25 GMT+08:00

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}

Tabla 1 describe los parámetros requeridos.
Tabla 1 Parámetros

Parámetro

Obligatorio

Tipo

Descripción

project_id

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

String

ID de servicio

Cuerpo de la solicitud

Tabla 2 describe los parámetros de solicitud.
Tabla 2 Parámetros

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.

  • Si infer_type se establece en real-time, consulte Tabla 3.
  • Si infer_type se establece en batch, consulte Tabla 4.

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

Tabla 3 Parámetros de config de real-time

Parámetro

Obligatorio

Tipo

Descripción

model_id

String

ID del modelo

weight

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

String

Especificaciones de recursos. Seleccione las especificaciones según los requisitos de servicio. Para la versión actual, están disponibles las siguientes especificaciones:

  • modelarts.vm.cpu.2u
  • modelarts.vm.gpu.p4
  • modelarts.vm.gpu.t4
  • modelarts.vm.arm.d310.3u6g
  • modelarts.vm.ai1.a310
  • modelarts.vm.cpu.free
  • modelarts.vm.gpu.free

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

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.

Tabla 4 parámetros de config de batch

Parámetro

Obligatorio

Tipo

Descripción

model_id

String

ID del modelo

specification

String

Variante de recursos. Opciones: modelarts.vm.cpu.2u y modelarts.vm.gpu.p4

instance_count

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

String

Ruta OBS de los datos de entrada de un trabajo por lotes

dest_path

String

Ruta OBS de los datos de salida de un trabajo por lotes

req_uri

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

String

Tipo de asignación de los datos de entrada. El valor puede ser file o csv.

  • Si selecciona file, cada solicitud de inferencia corresponde a un archivo en la ruta de datos de entrada. Cuando se utiliza este modo, req_uri de este modelo puede tener solo un parámetro de entrada y el tipo de este parámetro es file.
  • Si selecciona csv, cada solicitud de inferencia corresponde a una fila de datos en el archivo CSV. Cuando se utiliza este modo, los archivos en la ruta de datos de entrada solo pueden estar en formato CSV y mapping_rule debe configurarse para asignar el índice de cada parámetro en el cuerpo de solicitud de inferencia al archivo 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 (,).

Tabla 5 parámetros de schedule

Parámetro

Obligatorio

Tipo

Descripción

type

String

Tipo de programación. Solo se admite el valor stop.

time_unit

String

Unidad de tiempo de programación. Los valores posibles son DAYS, HOURS, y MINUTES.

duration

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.

Tabla 6 Atributos de modelo existentes en additional_properties

Parámetro

Obligatorio

Tipo

Descripción

persistent_volumes

persistentVolume array

Montaje de almacenamiento persistente. Para más detalles, consulte Tabla 7.

log_volume

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.

Tabla 7 estructura de persistentVolume

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre de la imagen

mount_path

String

Ruta de montaje de una imagen en el contenedor

Tabla 8 estructura de logVolume

Parámetro

Obligatorio

Tipo

Descripción

host_path

String

Ruta de registro que se asignará en el host

mount_path

String

Ruta de acceso a los registros del contenedor

Tabla 9 parámetros de custom_spec

Parámetro

Obligatorio

Tipo

Descripción

cpu

Float

Número de CPUs requeridas

memory

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.