Tous les produits
Search
Centre de documentation

Platform For AI:PMML processor

Dernière mise à jour :Aug 24, 2026

Le processeur PMML intégré à PAI déploie les modèles au format PMML en tant que services en ligne et permet une inférence en temps réel.

Informations générales

Vous pouvez utiliser le processeur PMML pour déployer un modèle PMML exporté depuis PAI vers EAS. Vous pouvez également convertir un modèle entraîné avec un framework open source tel que Sklearn ou Xgboost au format PMML, puis le déployer sur EAS. Pour plus d'informations, consultez Exporter un modèle généraliste.

Pour en savoir plus sur les modèles PMML, consultez l'Introduction aux modèles PMML.

Stratégies d'imputation des valeurs manquantes

Le processeur PMML propose des stratégies d'imputation par défaut pour les valeurs manquantes. Si un champ de caractéristique dans le fichier de modèle PMML ne spécifie pas de politique isMissing, le système utilise les valeurs par défaut suivantes.

Type de données

Valeur par défaut

BOOLEAN

false

DOUBLE

0,0

FLOAT

0,0

INT

0

STRING

""

Étape 1 : Déployer le service

Lors du déploiement d'un service de modèle PMML à l'aide du client eascmd, définissez le type de processor sur pmml. L'exemple suivant présente le fichier de configuration du service.

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

Pour plus d'informations sur le déploiement d'un service avec le client eascmd, consultez Déployer un service à l'aide d'EASCMD ou de DSW.

Vous pouvez également déployer un service de modèle PMML depuis la console. Pour plus d'informations, consultez Déployer un service depuis la console.

Étape 2 : Appeler le service

Suivez les étapes ci-dessous pour appeler le service.

  1. Une fois le service PMML déployé, accédez à la page Elastic Algorithm Service (EAS). Localisez le service que vous souhaitez appeler et cliquez sur Invocation Information dans la colonne Service Type pour consulter l'endpoint utilisé pour accéder au service ainsi que le token d'authentification.

    Construisez la requête de service.

    Un service PMML utilise des fichiers JSON bruts pour les entrées et les sorties. Une seule requête prend en charge plusieurs échantillons, chaque échantillon étant constitué de données de caractéristiques au format clé-valeur. L'exemple suivant illustre le corps de la requête.

    [
        {
            "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
        }
    ]
    Remarque

    Lors de l'envoi de la requête de service, vous pouvez supprimer les sauts de ligne et les espaces du fichier JSON afin de réduire le trafic réseau et d'améliorer les performances du service.

  2. Envoyez la requête de service.

    Les deux méthodes suivantes sont prises en charge :

    Important

    Si vous transmettez le token directement dans l'en-tête HTTP, celui-ci circule en clair sur le réseau. Les SDK fournis par Alibaba Cloud signent la requête avec le token avant l'envoi, ce qui offre une sécurité accrue.

    • Utilisez la commande curl pour effectuer un test rapide de requête sur le service.

      Le service expose un endpoint HTTP. Lors de l'envoi d'une requête, vous pouvez transmettre le token d'authentification directement dans l'en-tête HTTP, comme illustré dans l'exemple suivant.

      // 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}]'

      Dans la commande précédente :

      • 18284888792*.cn-shanghai.pai-eas.aliyuncs.com/api/predict/pmml_test** : remplacez cette valeur par l'endpoint obtenu à l'étape 1.

      • Authorization : définissez cette valeur sur le token d'authentification obtenu à l'étape 1.

      L'exemple suivant montre le résultat renvoyé.

      [{"p_0":0.2856724025030001,"p_1":0.7143275974969999},{"p_0":0.18324957921381624,"p_1":0.8167504207861838}]
    • Utilisez le SDK Python pour envoyer la requête. Pour plus d'informations, consultez le Guide d'utilisation du SDK Python.

      Voici un exemple de code.

      #!/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)

    Pour plus d'informations sur les SDK clients disponibles dans d'autres langages, consultez les SDK d'appel de service.

Références