All Products
Search
Document Center

MaxCompute:AI_SIMILARITY

Last Updated:Jul 25, 2026

AI_SIMILARITY adalah fungsi AI di MaxCompute yang memanggil model untuk mengukur kemiripan semantik antara dua teks dan mengembalikan bilangan titik mengambang antara 0 dan 1. Nilai yang lebih tinggi menunjukkan kemiripan semantik yang lebih besar.

Sintaksis

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

Parameter

  • model_name: Wajib diisi. Berupa STRING. Nama model yang akan digunakan. Untuk informasi selengkapnya, lihat Fungsi AI SQL.

  • version_name: Wajib diisi. Berupa STRING. Nama versi model yang akan digunakan. Untuk memanggil versi default, tentukan DEFAULT_VERSION.

  • input1: Wajib diisi. Berupa STRING. Teks pertama untuk perbandingan kemiripan semantik.

  • input2: Wajib diisi. Berupa STRING. Teks kedua untuk perbandingan kemiripan semantik.

  • model_parameters: Opsional. Berupa STRING. Menentukan parameter model seperti max_tokens, temperature, dan top_p. Formatnya berupa string JSON:

    '{"max_tokens": 500, "temperature": 0.6, "top_p": 0.95}'.

    • max_tokens: Jumlah maksimum token yang dihasilkan dalam satu panggilan model. Untuk model publik MaxCompute, nilai default-nya adalah 4.096.

    • temperature: Nilai antara 0 dan 1 yang mengatur tingkat keacakan output. 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 dapat dipilih oleh model. Nilai yang lebih tinggi memungkinkan rentang yang lebih luas dan variasi yang lebih besar, sedangkan nilai yang lebih rendah mempersempit rentang dan menghasilkan output yang lebih fokus.

Nilai kembali

Mengembalikan nilai FLOAT antara 0 dan 1 yang merepresentasikan skor kemiripan dari dua teks input. Nilai kembali dijelaskan sebagai berikut:

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

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

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

Contoh

Contoh 1: Bandingkan kemiripan dua teks

Panggil model publik qwen3.7-max yang disediakan oleh MaxCompute untuk menghitung kemiripan semantik antara dua teks tentang MaxCompute.

SET odps.namespace.schema=true;

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

Contoh 2: Bandingkan dan urutkan beberapa pasangan teks berdasarkan kemiripan

Panggil model publik deepseek-v4-pro yang disediakan oleh MaxCompute untuk membandingkan beberapa pasangan teks dan mengurutkannya berdasarkan kemiripan secara menurun. Metode ini cocok untuk mengidentifikasi pasangan teks dengan relevansi semantik tertinggi dari suatu set data.

-- Sample data
CREATE TABLE text_pairs (
    text1 STRING,
    text2 STRING
);

INSERT INTO text_pairs VALUES
    ('Cloud computing supports scalable infrastructure.', 'Enterprises can flexibly scale IT resources using cloud services.'),
    ('The weather is sunny today.', 'Machine learning algorithms require large datasets.'),
    ('A data warehouse stores historical data for analysis.', 'A data warehouse provides analytical processing capabilities for large-scale data.'),
    ('I like to read books.', 'Reading is my favorite hobby.');

-- Compare the semantic similarity of multiple text pairs
SET odps.namespace.schema=true;

SELECT
    text1,
    text2,
    AI_SIMILARITY(
        bigdata_public_modelset.default.`deepseek-v4-pro`,
        DEFAULT_VERSION,
        text1,
        text2
    ) AS similarity_score
FROM text_pairs
ORDER BY similarity_score DESC;

-- Result:
+----------------------------------------------------+--------------------------------------------------------------------------+------------------+
| text1                                              | text2                                                                    | similarity_score |
+----------------------------------------------------+--------------------------------------------------------------------------+------------------+
| A data warehouse stores historical data for analysis. | A data warehouse provides analytical processing capabilities for large-scale data. | 0.92             |
| I like to read books.                              | Reading is my favorite hobby.                                            | 0.88             |
| Cloud computing supports scalable infrastructure.  | Enterprises can flexibly scale IT resources using cloud services.        | 0.82             |
| The weather is sunny today.                        | Machine learning algorithms require large datasets.                      | 0.05             |
+----------------------------------------------------+--------------------------------------------------------------------------+------------------+

FAQ

Atasi masalah umum pada model publik

Gejala: Saat Anda memanggil model publik yang didukung oleh layanan komputasi model, Anda menerima pesan error berikut.

FAILED: ODPS-0130071:[1,8] Semantic analysis exception - inference quota status check failed, error message: region cn-shanghai not found in inference quota

Penyebab: Layanan komputasi model belum diaktifkan di wilayah, seperti cn-shanghai, tempat proyek saat ini berada. Akibatnya, Anda tidak dapat memanggil sumber daya Inferensi AI.

Solusi: Buka Konsol Manajemen Alibaba Cloud dan aktifkan layanan komputasi model untuk wilayah tempat proyek Anda berada. Untuk informasi selengkapnya, lihat Beli dan gunakan layanan komputasi model MaxCompute.