全部产品
Search
文档中心

Platform For AI:Prosesor PMML

更新时间:Jul 06, 2025

Elastic Algorithm Service (EAS) menyediakan prosesor Predictive Model Markup Language (PMML) bawaan untuk menerapkan model berformat PMML sebagai layanan online dan menjalankan tugas inferensi real-time secara online. Topik ini menjelaskan cara menerapkan dan memanggil layanan model PMML.

Informasi latar belakang

Prosesor PMML dapat digunakan untuk menerapkan model algoritma dalam format PMML di EAS. Model algoritma yang diekspor dari Machine Learning Designer dapat langsung diterapkan di EAS. Namun, model algoritma yang dilatih menggunakan kerangka algoritma sumber terbuka seperti scikit-learn dan XGBoost harus dikonversi ke format PMML terlebih dahulu sebelum dapat diterapkan di EAS. Untuk informasi lebih lanjut, lihat Ekspor Model.

Untuk informasi lebih lanjut, kunjungi PMML 4.4 - Struktur Umum.

Penanganan nilai yang hilang

Prosesor PMML menyediakan kebijakan default untuk mengisi nilai yang hilang. Jika kebijakan penanganan nilai yang hilang (isMissing) tidak ditentukan untuk kolom fitur dalam file PMML, nilai-nilai berikut akan diisi secara default.

Tipe data

Nilai yang diisi

BOOLEAN

false

DOUBLE

0.0

FLOAT

0.0

INT

0

STRING

""

Langkah 1: Terapkan layanan model

Ketika menggunakan klien EASCMD untuk menerapkan layanan model PMML, atur parameter prosesor menjadi pmml. Blok kode berikut menunjukkan contohnya.

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

Untuk informasi lebih lanjut tentang cara menggunakan klien EASCMD untuk menerapkan model, lihat Terapkan Layanan Model dengan Menggunakan EASCMD.

Anda juga dapat menerapkan layanan model PMML di konsol Platform for AI (PAI). Untuk informasi lebih lanjut, lihat Parameter untuk Penyebaran Kustom di Konsol.

Langkah 2: Panggil layanan model

Anda dapat melakukan operasi berikut untuk memanggil layanan model.

  1. Setelah menerapkan layanan model PMML, peroleh titik akhir layanan dan token yang digunakan untuk otentikasi layanan. Untuk mendapatkan informasi tersebut, lakukan operasi berikut: Pada halaman Elastic Algorithm Service (EAS), temukan layanan yang ingin Anda panggil dan klik Call Inform di kolom Service Type.

  2. Buat permintaan layanan.

    Baik input maupun output layanan model PMML adalah array JSON. Anda dapat menyertakan beberapa sampel dalam satu permintaan. Setiap sampel berisi data yang disajikan menggunakan pasangan kunci-nilai. Contoh:

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

    Saat mengirim permintaan layanan, Anda harus menghapus jeda baris dan karakter spasi dari file JSON untuk mempercepat transmisi data dan meningkatkan kinerja layanan.

  3. Kirim permintaan layanan.

    Metode berikut didukung:

    Penting

    Jika Anda menjalankan perintah curl untuk mengirim permintaan, token otentikasi ditentukan dalam header HTTP dan ditransmisikan dalam teks biasa melalui Internet. Jika Anda menggunakan EAS SDK untuk Python untuk mengirim permintaan, token digunakan untuk menandatangani permintaan, yang meningkatkan keamanan.

    • Jalankan perintah curl untuk mengirim permintaan.

      Layanan PMML mendukung akses HTTP. Saat mengirim permintaan, token otentikasi dapat langsung ditentukan dalam header HTTP. Contoh:

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

      Parameter:

      • 18284888792***.cn-shanghai.pai-eas.aliyuncs.com/api/predict/pmml_test: Ganti nilainya dengan titik akhir yang Anda peroleh di Langkah 1.

      • Authorization: Konfigurasikan token yang Anda peroleh di Langkah 1 untuk otentikasi layanan.

      Hasil berikut dikembalikan:

      [{"p_0":0.2856724025030001,"p_1":0.7143275974969999},{"p_0":0.18324957921381624,"p_1":0.8167504207861838}]
    • Gunakan EAS SDK untuk Python untuk mengirim permintaan. Untuk informasi lebih lanjut, lihat SDK untuk Python.

      Contoh kode:

      #!/usr/bin/env python
      
      from eas_prediction import PredictClient
      from eas_prediction import StringRequest
      
      if __name__ == '__main__':
          # Ganti nilainya dengan titik akhir dan nama layanan yang Anda peroleh di Langkah 1. 
          client = PredictClient('1828488879222***.cn-shanghai.pai-eas.aliyuncs.com', 'pmml_test')
          # Ganti nilainya dengan token yang Anda peroleh di Langkah 1 untuk otentikasi layanan. 
          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)
      

      Untuk informasi lebih lanjut tentang cara menggunakan EAS SDK untuk bahasa lainnya, lihat SDK.

Referensi