Todos los productos
Search
Centro de documentos

Platform For AI:Procesador PMML

Última actualización: Sep 04, 2026

El procesador PMML integrado permite desplegar modelos en formato PMML como servicios en línea y proporciona inference en tiempo real.

Contexto

Puede usar el procesador PMML para desplegar un modelo PMML exportado desde hacia . También puede convertir un modelo entrenado con un framework de código abierto, como Sklearn o Xgboost, al formato PMML y luego desplegarlo en . Para obtener más información, consulte Export a general-purpose model.

Para obtener más información sobre los modelos PMML, consulte Introducción a los modelos PMML.

Estrategias de imputación de valores faltantes

El procesador PMML proporciona estrategias de imputación predeterminadas para los valores faltantes. Si un campo de función en el archivo del modelo PMML no especifica una directiva isMissing, el sistema usa los siguientes valores predeterminados.

Data type

Default value

BOOLEAN

false

DOUBLE

0.0

FLOAT

0.0

INT

0

STRING

""

Paso 1: Desplegar el servicio

Cuando despliegue un servicio de modelo PMML mediante el cliente eascmd, establezca el tipo de processor en pmml. El siguiente ejemplo muestra el archivo de configuración del servicio.

{
  "name": "eas_lr_example",
  "processor": "pmml",
  "model_path": "http://examplebucket.oss-cn-shanghai.aliyuncs.com/models/lr.pmml",
  "metadata": {
    "instance": 1,
    "cpu": 1
  }
}

Para obtener más información sobre cómo desplegar un servicio mediante el cliente eascmd, consulte Deploy a service using EASCMD or DSW.

También puede desplegar un servicio de modelo PMML desde la consola. Para obtener más información, consulte Deploy a service from the console.

Paso 2: Invocar el servicio

Siga estos pasos para invocar el servicio.

  1. Una vez desplegado el servicio PMML, vaya a la página de Elastic Algorithm Service (EAS). Busque el servicio que desea invocar y haga clic en Invocation Information en la columna Service Type para consultar el endpoint usado para acceder al servicio y el token usado para la autenticación del servicio.

    Construya la solicitud del servicio.

    Un servicio PMML usa archivos JSON simples para la entrada y la salida. Una sola solicitud admite varias muestras, y cada muestra consiste en datos de funciones en formato clave-valor. El siguiente ejemplo muestra el cuerpo de la solicitud.

    [
        {
            "address": 12,
            "age": 22,
            "ed": 4,
            "marital": 3.0,
            "region": 2.0,
            "tenure": 4.0
        },
        {
            "address": 2,
            "age": 34,
            "ed": 6,
            "marital": 1.3,
            "region": 2.1,
            "tenure": 4.2
        }
    ]
    Nota

    Al enviar la solicitud del servicio, puede eliminar los saltos de línea y los espacios del archivo JSON para reducir el tráfico de red y mejorar el rendimiento del servicio.

  2. Envíe la solicitud del servicio.

    Se admiten los dos métodos siguientes:

    Importante

    Si pasa el token directamente en el encabezado HTTP, el token se transmite por la red en texto plano. Los SDK proporcionados por firman la solicitud con el token antes de enviarla, lo cual es más seguro.

    • Use el comando curl para ejecutar una prueba rápida de solicitud en el servicio.

      El servicio proporciona un endpoint HTTP. Al enviar una solicitud, puede pasar el token de autenticación directamente en el encabezado HTTP, como se muestra en el siguiente ejemplo.

      // Send the request.
      curl -v 18284888792***.cn-shanghai.pai-eas.aliyuncs.com/api/predict/pmml_test \
            -H 'Authorization: YmE3NDkyMzdiMzNmMGM3ZmE4ZmNjZDk0M2NiMDA***' \
            -d '[{"region": 2.0, "marital":3.0,"tenure":4.0, "age":22,"address":12,"ed":4},{"region": 2.1, "marital":1.3,"tenure":4.2, "age":34,"address":2,"ed":6}]'

      En el comando anterior:

      • 18284888792*.cn-shanghai.pai-eas.aliyuncs.com/api/predict/pmml_test**: Reemplace esta dirección con el endpoint que obtuvo en el paso 1.

      • Authorization: Establezca este valor con el token de autenticación que obtuvo en el paso 1.

      El siguiente ejemplo muestra el resultado devuelto.

      [{"p_0":0.2856724025030001,"p_1":0.7143275974969999},{"p_0":0.18324957921381624,"p_1":0.8167504207861838}]
    • Use el SDK de Python para enviar la solicitud. Para obtener más información, consulte Python SDK usage guide.

      Se proporciona el siguiente código de ejemplo.

      #!/usr/bin/env python
      
      from eas_prediction import PredictClient
      from eas_prediction import StringRequest
      
      if __name__ == '__main__':
          # Replace with the endpoint and service name that you obtained in step 1.
          client = PredictClient('1828488879222***.cn-shanghai.pai-eas.aliyuncs.com', 'pmml_test')
          # Replace with the authentication token that you obtained in step 1.
          client.set_token('YmE3NDkyMzdiMzNmMGM3ZmE4ZmNjZDk0M2NiMDA***')
          client.init()
      
          req = StringRequest('[{"region": 2.0, "marital":3.0,"tenure":4.0, "age":22,"address":12,"ed":4},{"region": 2.1, "marital":1.3,"tenure":4.2, "age":34,"address":2,"ed":6}]')
          for x in range(100):
              resp = client.predict(req)
              print(resp)

    Para obtener más información sobre los SDK de cliente en otros lenguajes, consulte Service invocation SDKs.

Referencias