All Products
Search
Document Center

PolarDB:Alur kerja dan instruksi model

Last Updated:Sep 18, 2026

PolarDB for AI tidak hanya mencakup model besar bawaan, tetapi juga memungkinkan Anda membuat model kustom dan memuat model eksternal menggunakan pernyataan SQL. Topik ini menjelaskan operasi model, termasuk pembuatan, evaluasi, dan inferensi.

Ikhtisar model

Kategori

Deskripsi

Built-in model

Anda dapat menjalankan pernyataan SQL di PolarDB untuk memanggil model AI besar bawaan guna menangani tugas analisis kompleks, tanpa perlu menyinkronkan data secara manual ke platform AI lainnya. Untuk informasi selengkapnya, lihat:

Custom model

Jika model AI besar bawaan tidak memenuhi kebutuhan bisnis Anda, Anda dapat membuat model kustom yang telah disesuaikan (fine-tuned). Selain itu, PolarDB for AI mendukung menjalankan model dalam kontainer rahasia untuk meningkatkan keamanan data.

Alur kerja untuk membuat model kustom adalah sebagai berikut:

  1. Pembuatan model

  2. Evaluasi model

  3. Inferensi model

Buat model

Membuat model pembelajaran mesin. Proses ini bersifat asinkron, sehingga Anda perlu memeriksa status model untuk memastikan proses telah selesai.

Sintaks

CREATE MODEL model_name WITH ( model_class = '', x_cols = '', y_cols='',model_parameter=()) AS (SELECT select_expr [, select_expr] ... FROM table_reference)

Parameter

Parameter

Deskripsi

model_name

Nama model.

model_class

Jenis model. Nilai yang valid:

x_cols

Kolom input.

Catatan

Pisahkan beberapa nama kolom dengan koma (,).

y_cols

Kolom output.

model_parameter

Parameter model.

select_expr

Nama kolom.

table_reference

Nama tabel.

Contoh

Buat model airlines_gbm.

/*polar4ai*/CREATE MODEL airlines_gbm WITH (model_class='lightgbm', x_cols ='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay',model_parameter=(boosting_type='gbdt', n_estimators=100, max_depth=8, num_leaves=256)) as (SELECT * FROM db4ai.airlines_train)

Hasil contoh:

Query OK, 0 rows affected (0.79 sec)

Tenerapkan model

Terapkan model yang telah diunggah ke platform PolarDB for AI. Penerapan yang berhasil akan membawa model ke mode online, sehingga memungkinkan inferensi model lebih cepat.

Sintaks

DEPLOY MODEL model_name

Parameter

Parameter

Deskripsi

model_name

Nama model yang akan diterapkan.

Contoh

Terapkan model bernama my_model ke platform PolarDB for AI.

/*polar4ai*/ DEPLOY MODEL my_model;

Contoh output:

Query OK, 0 rows affected (0.29 sec)

Jalankan perintah berikut untuk memeriksa status model:

/*polar4ai*/ SHOW MODEL my_model;

Contoh output:

+-------------+-----------------------------------------------------------------------------------------------------------------------------+
| modelStatus | modelPath                                                                                                                   |
+-------------+-----------------------------------------------------------------------------------------------------------------------------+
| serving     | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/xxxxx.pkl?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx  |
+-------------+-----------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.23 sec)

Status modelStatus bernilai serving menunjukkan penerapan berhasil.

Lihat model

Catatan

Anda hanya dapat melihat model kustom dan model eksternal yang Anda buat atau unggah. Model bawaan di PolarDB for AI tidak dapat dilihat.

Daftar model

Menampilkan semua model kustom dan eksternal di kluster saat ini.

Sintaks

SHOW MODELS

Contoh

/*polar4ai*/SHOW MODELS

Berikut ini adalah hasil contoh:

+-----------------------+-----------------+--------------+
| model_name            | model_class     | model_status |
+-----------------------+-----------------+--------------+
| airline_rfr           | randomforestreg | saved        |
| gbrt1                 | gbrt            | saved        |
| airline_deepfm        | deepfm          | saved        |
| airlines_gbm          | lightgbm        | saved        |
| lgbm1                 | lightgbm        | saved        |
| blackfriday_linearreg | linearreg       | saved        |
+-----------------------+-----------------+--------------+
6 rows in set (0.24 sec)

Status model

Menampilkan status terkini suatu model. Setelah membuat model, Anda dapat menggunakan perintah ini untuk memeriksa apakah pelatihan telah selesai. Model dapat memiliki salah satu status berikut:

  • training: Model sedang dilatih.

  • loading_data: Data sedang dimuat untuk model.

  • trained: Model telah selesai dilatih.

  • saved: Model telah disimpan.

  • serving: Model telah diterapkan dan siap digunakan.

  • deleted: Model telah dihapus.

Sintaks

SHOW MODEL model_name 

Parameter

Parameter

Deskripsi

model_name

Nama model.

Contoh

Lihat status terkini model airlines_gbm.

/*polar4ai*/SHOW MODEL airlines_gbm;

Berikut ini adalah hasil contoh:

+-------------+-----------------------------------------------------------------------------------------------------------------------------+
| modelStatus | modelPath                                                                                                                   |
+-------------+-----------------------------------------------------------------------------------------------------------------------------+
| saved       | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/xxxxx.pkl?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx  |
+-------------+-----------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.23 sec)
Catatan

modelPath berlaku selama 100 menit. Anda dapat memeriksa parameter Expires di modelPath untuk memastikan tautan masih berlaku. Jika Anda perlu mengakses tautan tersebut, pastikan melakukannya sebelum masa berlaku habis.

Detail model

Sintaks

DESCRIBE MODEL model_name

Parameter

Parameter

Deskripsi

model_name

Nama model.

Contoh

Lihat detail model airlines_gbm.

/*polar4ai*/DESCRIBE MODEL airlines_gbm;

Berikut ini adalah hasil contoh:

+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| model_name        | model_description                                                                                                                                                                                                                                                                 |
+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| airlines_gbm      | basic information:model_name:airlines_gbm model_class:lightgbm feature important:features,imp_gain,imp_splitAirline,0.3327,0.0376 AirportFrom,0.2178,0.1842 Time,0.1893,0.1999 AirportTo,0.1668,0.187 DayOfWeek,0.0384,0.1236 Length,0.0307,0.1269 Flight,0.0242,0.1408           |
+-------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.65 sec)

Evaluasi model

Menilai kinerja model yang telah dilatih.

Sintaks

SELECT select_expr [, select_expr] ... FROM EVALUATE (MODEL model_name, SELECT select_expr_for_prediction [, select_expr_for_prediction] ... FROM table_reference ) WITH (x_cols = '', y_cols='', metrics='')

Parameter

Parameter

Deskripsi

select_expr

Kolom yang akan ditampilkan dalam hasil evaluasi model.

model_name

Nama model.

select_expr_for_prediction

Kolom yang akan digunakan untuk evaluasi model.

table_reference

Nama tabel.

x_cols

Kolom input yang digunakan untuk membuat model. Pisahkan beberapa nama kolom dengan koma (,).

y_cols

Kolom output yang digunakan untuk membuat model.

metrics

Metrik evaluasi. Nilai yang valid:

  • acc: Akurasi. Metrik ini berlaku untuk tugas klasifikasi.

  • r2_score: Koefisien determinasi. Metrik ini berlaku untuk tugas regresi.

  • ks: Nilai KS. Mengukur seberapa baik model memisahkan contoh positif dan negatif. Metrik ini berlaku untuk tugas klasifikasi.

  • auc: Nilai AUC. Mewakili luas area di bawah kurva Receiver Operating Characteristic (ROC). Metrik ini berlaku untuk tugas klasifikasi.

  • Fscore: F-score. Rata-rata harmonik dari presisi dan recall. Metrik ini berlaku untuk tugas klasifikasi.

Contoh

  1. Gunakan model airlines_gbm yang telah dibuat untuk melakukan evaluasi model.

    /*polar4ai*/SELECT Delay FROM evaluate(MODEL airlines_gbm, SELECT * FROM db4ai.airlines_test) WITH (x_cols = 'Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay', metrics='acc');

    Hasil contoh:

    +--------------------------------------+
    | task_id                              |
    +--------------------------------------+
    | df05244e-21f7-11ed-be66-xxxxxxxxxxxx |
    +--------------------------------------+
    1 row in set (0.95 sec)
  2. Gunakan perintah berikut untuk memeriksa status tugas.

    /*polar4ai*/SHOW TASK `df05244e-21f7-11ed-be66-xxxxxxxxxxxx`;

    Hasil contoh:

    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    | taskStatus | filePath                                                                                                                                           | results         | startTime                  | endTime                    |
    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    | finish     | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/pc-xxxxxxx/airlines_gbm/xxxxx.csv?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx | {"acc": 0.6694} | 2022-08-22 17:22:21.122101 | 2022-08-22 17:22:39.428811 |
    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    1 row in set (0.24 sec)
    Catatan

    filePath berlaku selama 100 menit. Anda dapat memeriksa parameter Expires di filePath untuk memastikan tautan masih berlaku. Jika Anda perlu mengakses tautan tersebut, lakukanlah dalam periode validitasnya.

Inferensi model

Gunakan model yang telah dilatih untuk melakukan inferensi online atau offline.

Sintaks

SELECT select_expr [, select_expr] ... FROM PREDICT (MODEL model_name, SELECT select_expr_for_prediction [, select_expr_for_prediction] ... FROM table_reference LIMIT row_count) WITH (x_cols= '')

Parameter

Parameter

Deskripsi

select_expr

Menentukan kolom yang akan ditampilkan dalam hasil inferensi model.

model_name

Menentukan nama model.

select_expr_for_prediction

Menentukan kolom data masukan yang akan digunakan untuk inferensi.

table_reference

Menentukan tabel masukan.

mode

Menentukan mode inferensi. Atur parameter ini ke async untuk melakukan inferensi offline. Jika Anda menghilangkan parameter ini, sistem akan melakukan inferensi online.

row_count

Menentukan jumlah sampel yang akan digunakan untuk inferensi.

x_cols

Menentukan kolom input untuk model. Pisahkan beberapa nama kolom dengan koma (,).

Contoh

  • Inferensi online

    Gunakan model airlines_gbm untuk melakukan inferensi online.

    /*polar4ai*/SELECT Delay FROM PREDICT(MODEL airlines_gbm, SELECT * FROM db4ai.airlines_test LIMIT 10) WITH (x_cols = 'Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay');

    Berikut ini adalah hasil contoh:

    +-------+-------------------+
    | Delay | predicted_results |
    +-------+-------------------+
    |     1 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     1 | 0                 |
    |     0 | 0                 |
    |     0 | 0                 |
    |     1 | 0                 |
    +-------+-------------------+
    10 rows in set (0.74 sec)
  • Inferensi offline

    Jika Anda menjalankan inferensi pada lebih dari 1.000 sampel, PolarDB for AI akan mengembalikan error berikut:

    ERROR 9050 (HY000): Please limit the SQL selected data length to less than '1000' or convert to offline prediction

    Untuk membuat tugas offline, jalankan pernyataan berikut:

    /*polar4ai*/SELECT Delay FROM predict(MODEL airlines_gbm, SELECT * FROM db4ai.airlines_test) WITH (x_cols = 'Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length', y_cols='Delay', mode='async');

    Berikut ini adalah hasil contoh:

    +--------------------------------------+
    | task_id                              |
    +--------------------------------------+
    | bd0c1722-21e7-11ed-94a8-xxxxxxxxxxxx |
    +--------------------------------------+
    1 row in set (0.75 sec)

    Kueri ini mengembalikan task_id tugas tersebut. Anda dapat menggunakan ID tugas ini untuk menanyakan status tugas dan URL unduhan hasilnya.

    /*polar4ai*/SHOW TASK `bd0c1722-21e7-11ed-94a8-xxxxxxxxxxxx`

    Berikut ini adalah hasil contoh:

    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    | taskStatus | filePath                                                                                                                                           | results         | startTime                  | endTime                    |
    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    | finish     | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/pc-xxxxxxx/airlines_gbm/xxxxx.csv?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx |                 | 2022-08-22 14:57:51.355240 | 2022-08-22 14:58:18.316818 |
    +------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
    1 row in set (0.24 sec)
    Catatan

    filePath berlaku selama 100 menit. Anda dapat memeriksa parameter Expires di filePath untuk memastikan tautan masih berlaku. Jika Anda perlu mengakses tautan tersebut, lakukanlah dalam periode validitasnya.

Evaluasi dan inferensi offline

Catatan

Tugas offline adalah tugas pemrosesan batch jangka panjang yang tidak mengembalikan hasil secara real time. Tugas offline mencakup evaluasi offline dan inferensi offline.

Lihat tugas

Lihat semua tugas offline di kluster saat ini.

Sintaks

SHOW TASKS

Contoh

Jalankan perintah berikut untuk melihat semua tugas offline di kluster saat ini.

/*polar4ai*/SHOW TASKS;

Berikut ini adalah hasil contoh:

+--------------------------------------+------------+-------------+----------------------------+----------------------------+
| task_id                              | task_type  | task_status | start_timestr              | end_timestr                |
+--------------------------------------+------------+-------------+----------------------------+----------------------------+
| 2cba0c74-1f8f-11ed-934a-xxxxxxxxxxxx | prediction | finish      | 2022-08-19 15:18:51.206829 |                            |
| 77b3a186-1f94-11ed-8eaa-xxxxxxxxxxxx | evaluation | finish      | 2022-08-19 15:56:44.465594 |                            |
| 972547a4-1fa3-11ed-9c6b-xxxxxxxxxxxx | evaluation | finish      | 2022-08-19 17:44:59.790353 | 2022-08-19 17:45:23.750100 |
| bd0c1722-21e7-11ed-94a8-xxxxxxxxxxxx | prediction | finish      | 2022-08-22 14:57:51.355240 | 2022-08-22 14:58:18.316818 |
| df05244e-21f7-11ed-be66-xxxxxxxxxxxx | evaluation | finish      | 2022-08-22 16:53:20.381577 | 2022-08-22 16:53:37.189953 |
| ec956db8-21fb-11ed-8400-xxxxxxxxxxxx | evaluation | finish      | 2022-08-22 17:22:21.122101 | 2022-08-22 17:22:39.428811 |
+--------------------------------------+------------+-------------+----------------------------+----------------------------+
9 rows in set (0.18 sec)

Lihat status tugas

Tugas offline dapat memiliki salah satu status berikut:

  • init: Tugas sedang diinisialisasi.

  • running: Tugas sedang berjalan.

  • finish: Tugas telah selesai.

  • fail: Tugas gagal.

Sintaks

SHOW TASK `task_id` 

Parameter

Parameter

Deskripsi

task_id

ID tugas.

Contoh

Jalankan perintah berikut untuk melihat status tugas dengan ID df05244e-21f7-11ed-be66-xxxxxxxxxxxx.

/*polar4ai*/SHOW TASK `df05244e-21f7-11ed-be66-xxxxxxxxxxxx`

Berikut ini adalah hasil contoh:

+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
| taskStatus | filePath                                                                                                                                           | results         | startTime                  | endTime                    |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
| finish     | http://db4ai-collie-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/pc-xxxxxxx/airlines_gbm/xxxxx.csv?OSSAccessKeyId=xxxxxx&Expires=xxxx&Signature=xxxxxx | {"acc": 0.6694} | 2022-08-22 17:22:21.122101 | 2022-08-22 17:22:39.428811 |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------------------+----------------------------+
1 row in set (0.24 sec)
Catatan

filePath berlaku selama 100 menit. Anda dapat memeriksa parameter Expires di filePath untuk memastikan tautan masih berlaku. Jika Anda perlu mengakses tautan tersebut, lakukanlah dalam periode validitasnya.

Hapus tugas

Sintaks

DROP TASK `task_id` 

Parameter

Parameter

Deskripsi

task_id

ID tugas.

Contoh

Hapus tugas dengan ID df05244e-21f7-11ed-be66-xxxxxxxxxxxx.

/*polar4ai*/DROP TASK `df05244e-21f7-11ed-be66-xxxxxxxxxxxx`

Hapus model

Gunakan pernyataan ini untuk menghapus model yang tidak lagi Anda perlukan.

Sintaks

DROP MODEL model_name

Parameter

Parameter

Deskripsi

model_name

Nama model.

Contoh

Hapus model airlines_gbm.

/*polar4ai*/DROP MODEL airlines_gbm

Penghapusan model airlines_gbm yang berhasil menghasilkan output berikut:

Query OK, 0 rows affected (0.57 sec)

Alibaba Cloud hanya bertanggung jawab atas pemeliharaan arsitektur dasar dan sistem operasi yang disediakan. Anda bertanggung jawab atas komponen di atas sistem operasi, seperti aplikasi yang Anda instal. Anda tetap mengendalikan lingkungan runtime untuk instans Anda. Selain itu, memutakhirkan sistem operasi sendiri dapat menyebabkan efek negatif, termasuk downtime. Anda bertanggung jawab untuk memahami risiko tersebut dan mengambil tindakan pencegahan yang diperlukan.