All Products
Search
Document Center

MaxCompute:AI_SIMILARITY

Last Updated:May 27, 2026

AI_SIMILARITY adalah fungsi AI MaxCompute yang memanggil model untuk menentukan kemiripan tekstual dan semantik antara dua teks, mengembalikan nilai float antara 0 dan 1—semakin tinggi nilainya, semakin besar kemiripannya.

Sintaksis

FLOAT AI_SIMILARITY(
  STRING <model_name>,
  STRING <version_name>,
  STRING <input1>,
  STRING <input2>
  [, STRING <model_parameters>]
);

Parameter

  • model_name: Wajib. STRING yang menentukan nama model yang akan digunakan. Untuk informasi selengkapnya, lihat SQL AI functions.

  • version_name: Wajib. STRING yang menentukan nama versi model yang akan digunakan. Untuk memanggil versi default, gunakan DEFAULT_VERSION.

  • input1: Wajib. STRING yang merepresentasikan teks pertama untuk perhitungan kemiripan semantik.

  • input2: Wajib. STRING yang merepresentasikan teks kedua untuk perhitungan kemiripan semantik.

  • model_parameters: Opsional. String berformat JSON yang menentukan parameter model, 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 mengontrol tingkat keacakan output model. Nilai lebih tinggi menghasilkan output yang lebih kreatif dan beragam, sedangkan nilai 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 lebih tinggi memberikan rentang yang lebih luas dan variasi yang lebih besar, sedangkan nilai lebih rendah menghasilkan rentang yang lebih sempit dan output yang lebih fokus.

Nilai kembalian

Mengembalikan nilai FLOAT antara 0 dan 1 yang merepresentasikan skor kemiripan dari dua teks input. Aturan pengembalian nilai adalah sebagai berikut:

  • Skor 1,0 menunjukkan bahwa kedua teks identik, sedangkan skor 0,0 menunjukkan bahwa keduanya sama sekali tidak terkait.

  • Jika input1 atau input2 bernilai NULL, fungsi mengembalikan NULL.

  • Jika input1 atau input2 bukan tipe STRING, fungsi mengembalikan error.

Contoh

Contoh 1: Membandingkan kemiripan teks

Memanggil model publik qwen3-max yang disediakan oleh MaxCompute untuk menghitung kemiripan semantik antara dua teks mengenai MaxCompute.

-- Gunakan layanan komputasi model dalam Pekerjaan SQL
SET odps.task.major.version=sql_modelstudio;
SET odps.namespace.schema=true;

SELECT AI_SIMILARITY(
    bigdata_public_modelset.default.`qwen3-max`,
    DEFAULT_VERSION,
    'MaxCompute is a big data computing platform.',
    'MaxCompute provides large-scale data processing capabilities.'
) AS similarity_score;

-- Result:
+------------------+
| similarity_score |
+------------------+
| 0.85             |
+------------------+

Contoh 2: Membandingkan dan mengurutkan pasangan teks

Memanggil model publik Qwen3-4B-GGUF yang disediakan oleh MaxCompute untuk membandingkan beberapa pasangan teks dan mengurutkannya secara menurun berdasarkan tingkat kemiripan. Metode ini cocok untuk mengidentifikasi pasangan teks dengan relevansi semantik tertinggi dari suatu set data.

-- Data contoh
CREATE TABLE text_pairs (
    text1 STRING,
    text2 STRING
);

INSERT INTO text_pairs VALUES
    ('Cloud computing enables scalable infrastructure.', 'Businesses can scale their IT resources using cloud services.'),
    ('The weather is sunny today.', 'Machine learning algorithms require large datasets.'),
    ('Data warehousing stores historical data for analysis.', 'A data warehouse provides analytical processing of large data volumes.'),
    ('I enjoy reading books.', 'Reading is my favorite hobby.');

-- Bandingkan beberapa pasangan teks untuk kemiripan semantik
SET odps.sql.ai.treat.as.common.model=true;
SET odps.namespace.schema=true;

SELECT
    text1,
    text2,
    AI_SIMILARITY(
        bigdata_public_modelset.default.`Qwen3-4B-GGUF`,
        DEFAULT_VERSION,
        text1,
        text2
    ) AS similarity_score
FROM text_pairs
ORDER BY similarity_score DESC;

-- Result
+------------------------------------------------------+-----------------------------------------------------------------------+------------------+
| text1                                                | text2                                                                 | similarity_score |
+------------------------------------------------------+-----------------------------------------------------------------------+------------------+
| Cloud computing enables scalable infrastructure.     | Businesses can scale their IT resources using cloud services.         | 0.92             |
| Data warehousing stores historical data for analysis.| A data warehouse provides analytical processing of large data volumes.| 0.88             |
| I enjoy reading books.                               | Reading is my favorite hobby.                                         | 0.82             |
| The weather is sunny today.                          | Machine learning algorithms require large datasets.                   | 0.05             |
+------------------------------------------------------+-----------------------------------------------------------------------+------------------+