AI_CLASSIFY adalah fungsi AI di MaxCompute yang memanggil model untuk mengembalikan label dari daftar kandidat yang paling sesuai dengan input.
Sintaksis
STRING AI_CLASSIFY(
STRING <model_name>,
STRING <version_name>,
STRING <input>,
ARRAY<STRING> <labels>
[, STRING <model_parameters>]
);
Parameter
-
model_name: Wajib. String yang menentukan nama model yang akan digunakan. Untuk informasi lebih lanjut, lihat SQL AI functions.
-
version_name: Wajib. String yang menentukan versi model yang akan digunakan. Untuk menggunakan versi default, tentukan
DEFAULT_VERSION. -
input: Wajib. String yang berisi teks yang akan diklasifikasikan.
-
labels: Wajib. Array berisi label string kandidat. Parameter ini dapat berupa konstanta atau nama kolom. Jika menggunakan konstanta, array tersebut harus berisi antara 2 hingga 20 label.
-
model_parameters: Opsional. String yang menentukan parameter model dalam format JSON, seperti max_tokens, temperature, dan top_p. Contohnya:
'{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}'.-
max_tokens: Jumlah maksimum token yang dihasilkan dalam satu panggilan model. Nilai default untuk model publik MaxCompute adalah 4096.
-
temperature: Nilai antara 0 dan 1 yang mengatur tingkat keacakan output model. Nilai yang lebih tinggi menghasilkan output yang lebih kreatif dan beragam, sedangkan nilai yang lebih rendah menghasilkan output yang lebih deterministik dan konservatif.
-
top_p: Nilai antara 0 dan 1 yang membatasi rentang label kandidat yang dipertimbangkan oleh model. Nilai yang lebih tinggi menghasilkan rentang yang lebih luas dan variasi yang lebih besar, sedangkan nilai yang lebih rendah menghasilkan rentang yang lebih sempit dan output yang lebih fokus.
-
Nilai kembalian
Mengembalikan string yang merepresentasikan satu label yang paling sesuai dengan input.
-
Fungsi ini mengembalikan error jika
inputbukan bertipe STRING ataulabelsbukan bertipeARRAY<STRING>. -
Fungsi ini mengembalikan error jika
labelsmerupakan konstanta yang berisi kurang dari 2 atau lebih dari 20 label. -
Fungsi ini mengembalikan NULL jika
inputataulabelsbernilai NULL atau string kosong ("").
Contoh
Contoh 1: Klasifikasi teks konstan
Contoh ini memanggil model publik qwen3-max yang disediakan oleh MaxCompute untuk mengklasifikasikan teks input dan mengembalikan label yang paling sesuai.
-- Gunakan layanan komputasi model dalam pekerjaan SQL
SET odps.task.major.version=sql_modelstudio;
SET odps.namespace.schema=true;
SELECT AI_CLASSIFY(
bigdata_public_modelset.default.`qwen3-max`,
DEFAULT_VERSION,
'MaxCompute is a fully managed, high-performance big data computing platform that provides fast and scalable data warehousing and analytics capabilities.',
ARRAY('Technology', 'Sports', 'Finance', 'Healthcare', 'Education')
) AS classified_label;
-- Result
+------------------+
| classified_label |
+------------------+
| Technology |
+------------------+
Contoh 2: Klasifikasi data dalam tabel
Contoh ini memanggil model publik Qwen3-4B-GGUF yang disediakan oleh MaxCompute untuk mengklasifikasikan secara batch beberapa entri teks dalam sebuah tabel.
-- Data contoh
CREATE TABLE news_articles (
content STRING
);
INSERT INTO news_articles VALUES
('Artificial intelligence is transforming the healthcare industry with new diagnostic tools.'),
('The stock market hit a new all-time high today, driven by a rally in the tech sector.'),
('The team won the championship after a thrilling overtime game.'),
('Cloud computing allows businesses to scale their infrastructure on demand.');
-- Panggil model untuk mengklasifikasikan teks dalam tabel
SET odps.sql.ai.treat.as.common.model=true;
SET odps.namespace.schema=true;
SELECT
content,
AI_CLASSIFY(
bigdata_public_modelset.default.`Qwen3-4B-GGUF`,
DEFAULT_VERSION,
content,
ARRAY('Technology', 'Sports', 'Finance', 'Healthcare')
) AS category
FROM news_articles;
-- Result
+------------------------------------------------------------------------------------------+------------+
| content | category |
+------------------------------------------------------------------------------------------+------------+
| Artificial intelligence is transforming the healthcare industry with new diagnostic tools. | Healthcare |
| The stock market hit a new all-time high today, driven by a rally in the tech sector. | Finance |
| The team won the championship after a thrilling overtime game. | Sports |
| Cloud computing allows businesses to scale their infrastructure on demand. | Technology |
+------------------------------------------------------------------------------------------+------------+