全部产品
Search
文档中心

Hologres:Fungsi AI

更新时间:Feb 04, 2026

Hologres V3.2 dan versi yang lebih baru mendukung fungsi AI serta menyediakan operator seperti Embedding, Rank, dan LLM. Anda dapat memanggil fungsi AI secara langsung menggunakan SQL standar tanpa memerlukan layanan inferensi terpisah, sehingga memungkinkan penerapan skenario AI seperti membangun dan menggunakan basis pengetahuan tingkat enterprise.

Prasyarat

  1. Beli sumber daya AI.

  2. Anda telah menerapkan model.

Ringkasan Fungsi AI

Hologres mendukung fungsi AI berikut:

  • Setiap fungsi AI secara default ditetapkan ke model optimal berdasarkan model yang telah diterapkan. Anda dapat melihat model default yang ditetapkan untuk suatu fungsi AI di tabel sistem.

  • Saat memanggil fungsi AI, Anda tidak perlu menentukan nama model. Sistem akan secara otomatis menggunakan model default. Untuk mengubah model yang digunakan oleh fungsi AI, ubah konfigurasi di tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

  • Setiap model memerlukan spesifikasi sumber daya AI yang berbeda untuk penerapannya. Beli spesifikasi yang sesuai sesuai kebutuhan.

Nama Fungsi

Deskripsi

Model yang Didukung

Versi yang Didukung

to_file

Mengonversi URL ke tipe FILE.

Tidak memerlukan model. Biasanya digunakan bersama Object Tables.

V4.0 dan versi yang lebih baru

prompt

Merakit prompt untuk large language model (LLM). Dapat membungkus prompt multimodal.

Tidak memerlukan model.

ai_parse_document

Mengurai data tidak terstruktur, seperti PDF dan gambar, menjadi teks.

ds4sd/docling-models.

ai_embed

Menghitung vektor kontinu berdimensi tetap untuk teks atau gambar yang diberikan.

Teks:

  • iic/nlp_gte_sentence-embedding_chinese series.

  • Qwen/Qwen3-Embedding-XB series.

Gambar: clip-ViT-B series.

  • V3.2 dan versi yang lebih baru untuk text embedding

  • Versi 4.0 dan versi yang lebih baru mendukung vektor gambar.

ai_rank

Memberikan skor relevansi teks yang diberikan.

LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

V3.2.2 dan versi yang lebih baru

ai_chunk

Memisahkan teks panjang menjadi segmen.

recursive-character-text-splitter.

ai_gen

Memanggil LLM menggunakan prompt untuk melakukan inferensi pada teks atau gambar dan menghasilkan output.

Teks: LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

Gambar: tipe Qwen/Qwen2.5-VL-xB.

  • V3.2 dan versi yang lebih baru untuk inferensi teks

  • V4.0 dan versi yang lebih baru untuk inferensi gambar

ai_classify

Mengklasifikasikan teks input berdasarkan label klasifikasi yang diberikan.

LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

V3.2 dan versi yang lebih baru

ai_extract

Menambang informasi label tertentu dari teks input.

LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

ai_mask

Menyembunyikan informasi label tertentu dalam teks input. Informasi yang disembunyikan diganti dengan placeholder [MASKED].

LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

ai_fix_grammar

Memperbaiki kesalahan sintaksis dalam teks input.

LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

ai_summarize

Menghasilkan ringkasan dari sepotong teks.

LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

ai_translate

Menerjemahkan teks input ke bahasa yang ditentukan.

LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

ai_similarity

Menghitung kemiripan antara dua teks input.

LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

ai_analyze_sentiment

Menjalankan analisis sentimen pada teks input.

  • LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B.

  • model iic/nlp_structbert_sentiment-classification_chinese-base.

Gunakan Fungsi AI

ai_embed

  • Deskripsi: Menghitung vektor kontinu berdimensi tetap untuk teks atau gambar input.

    --Hitung text embedding
    select ai_embed([model,] content);
    --Hitung image embedding
    select ai_embed([model,] file);
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • content: Wajib. Teks input. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

    • file: Wajib. Tipe FILE. Biasanya berupa objek FILE untuk gambar. Tipe ini hanya didukung di Hologres V4.0 dan versi yang lebih baru.

  • Nilai kembali

  • Contoh

    • Text embedding

      SELECT ai_embed('Hologres is a one-stop real-time data warehouse engine developed by Alibaba. It supports real-time writing, updating, processing, and analysis of massive amounts of data.');

      Hasil berikut dikembalikan.

      ai_embed
      -------
      {-0.020090256, -0.009496426, -0.01584659, ..., -0.057956327}
    • Image embedding

      --Image embedding. Contoh ini menunjukkan cara membuat embedding untuk gambar di OSS.
      SELECT ai_embed('clip-ViT-B-32', to_file('oss://****', 'oss-cn-hangzhou-internal.aliyuncs.com', 'roleran'));

ai_rank

  • Deskripsi: Memberikan skor relevansi dokumen yang diberikan.

    SELECT ai_rank([model,] source_sentence, sentence_to_compare);
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • source_sentence: Wajib. Konten teks. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

    • sentence_to_compare: Wajib. Pernyataan yang dibandingkan dengan parameter source_sentence. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

  • Nilai kembali

    • Mengembalikan skor relevansi bertipe FLOAT. Nilainya berada dalam rentang [0, 1]. Nilai yang lebih tinggi menunjukkan relevansi yang lebih tinggi.

    • Jika salah satu parameter source_sentence atau sentence_to_compare bernilai NULL, nilai kembali adalah 0.

  • Contoh

    SELECT knowledge, ai_rank('What is Alibaba''s revenue in 2024?', knowledge) AS score
      FROM (
          VALUES ('Amazon''s 2024 revenue was 638 billion USD'), 
                 ('Alibaba''s 2024 revenue was 941.168 billion CNY'), 
                 ('Alibaba''s 2023 revenue was 868.687 billion CNY')
      ) AS knowledge_table(knowledge)
      ORDER BY score DESC;

    Hasil berikut dikembalikan.

    knowledge	                  | score
    -----------------------------|-------
    Alibaba's 2024 revenue was 941.168 billion CNY	 |0.899999976
    Alibaba's 2023 revenue was 868.687 billion CNY |0.200000003
    Amazon's 2024 revenue was 638 billion USD	   |0.100000001

ai_chunk

  • Deskripsi: Memisahkan teks panjang menjadi segmen (chunk).

    SELECT ai_chunk([model,] long_sentence[, chunk_size, chunk_overlap, separators])
  • Parameter

    Nama Parameter

    Deskripsi

    model

    Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    long_sentence

    Wajib. Teks sumber yang akan disegmentasi. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

    chunk_size

    Opsional. Panjang setiap chunk. Parameter ini bertipe INT. Nilai default adalah 300.

    chunk_overlap

    Opsional. Panjang tumpang tindih antar chunk yang berdekatan untuk menghindari pemotongan kalimat di tengah dan menjaga semantiknya. Parameter ini bertipe INT. Nilai default adalah 50.

    separators

    Opsional. Pemisah untuk membagi chunk. Parameter ini bertipe TEXT[]. Nilai default adalah ["\n\n", "\n", " ", ""], yang cocok untuk teks bahasa Inggris. Untuk teks bahasa Mandarin, gunakan pemisah Mandarin seperti ["\n\n", "\n", ".", "!", "?", ";", ",", " "].

  • Deskripsi Nilai Kembali

    • Mengembalikan tipe TEXT[], yaitu daftar chunk yang telah disegmentasi.

    • Jika parameter long_sentence bernilai NULL, nilai kembali adalah NULL.

  • Contoh

    SELECT ai_chunk('Hologres is a one-stop real-time data warehouse engine (Real-Time Data Warehouse) developed by Alibaba. It supports real-time writing, updating, processing, and analysis of massive amounts of data. It supports standard SQL (compatible with the PostgreSQL protocol and syntax, and supports most PostgreSQL functions). It supports petabyte-scale multidimensional analysis (OLAP) and ad hoc analysis. It supports high-concurrency and low-latency online data services (Serving). It supports fine-grained isolation for multiple workloads and enterprise-level security capabilities. It is deeply integrated with MaxCompute, Flink, and DataWorks to provide an enterprise-level, integrated, online and offline, full-stack data warehouse solution.',40,10);

    Hasil berikut dikembalikan.

    ai_chunk
    ---
    "{"Hologres is a one-stop real-time data warehouse (Real-Time Data","Warehouse) engine developed by Alibaba. It supports real-time writing, updating, processing,","and analysis of massive data. It is compatible with standard SQL, the PostgreSQL","protocol and syntax, and most PostgreSQL functions. It also supports petabyte-scale","multidimensional analysis (OLAP), ad hoc analysis (Ad","Hoc), high-concurrency and low-latency online data services (Serving), fine-grained","isolation for various workloads, and enterprise-level security capabilities. Deeply","integrated with MaxCompute, Flink, and DataWorks, it provides an enterprise-level,","integrated, full-stack data warehouse solution for both offline and online scenarios."}"

ai_gen

  • Deskripsi: Memanggil LLM menggunakan prompt untuk melakukan inferensi pada teks atau gambar dan menghasilkan output.

    --Inferensi teks
    SELECT ai_gen([model,] text)
    --Inferensi gambar
    SELECT ai_gen([model,] text, file)
    --Enkapsulasi prompt
    SELECT ai_gen([model,] prompt)
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • text: Wajib. Prompt input. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

    • file: Wajib. Tipe FILE, seperti gambar yang dikonversi ke tipe FILE dari Object Table. Parameter ini hanya didukung di Hologres V4.0 dan versi yang lebih baru.

    • prompt: Wajib. Tipe JSON. Ini adalah nilai kembali dari fungsi prompt().

  • Nilai kembali

    • Mengembalikan jawaban LLM terhadap pertanyaan.

    • Jika parameter text bernilai NULL, nilai kembali adalah NULL.

    • Jika parameter text berupa string kosong (""), nilai kembali adalah string kosong ("").

    • Jika parameter prompt bernilai NULL, terjadi error.

  • Contoh

    • Inferensi teks

      CREATE TABLE questions (
          question TEXT
      );
      
      INSERT INTO questions (question) VALUES
        ('What is artificial intelligence?'),
        ('How can I improve my spoken English?'),
        ('What are the key points for a healthy diet?');
      
      SELECT
        question,
        ai_gen('Please answer the following question in 20 words: ' || question) AS answer
      FROM
        questions;

      Hasil berikut dikembalikan.

       question            |	answer
        --------------------|-------
      How can I improve my spoken English?	  |Speak and practice more, imitate pronunciation, build vocabulary, and be brave to speak.
      What are the key points for a healthy diet?	|Eat a balanced diet, control oil, salt, and sugar, eat more fruits and vegetables, and drink water in moderation.
      What is artificial intelligence?	        |Artificial intelligence is a computer system that simulates human intelligence. It can learn, reason, perceive, and solve problems.
    • Inferensi gambar

      SELECT  ai_gen('jpg_llm','What is in this picture?', to_file('oss://****/bd****k/val/images/b9b53753-91a5****.jpg','oss-cn-hangzhou-internal.aliyuncs.com','acs:ram::****' ) )

      Hasil berikut dikembalikan.

      ai_gen
      -----
      This picture shows a city street scene. A white car with the license plate BTB-9784 is parked on the side of the road. There are several cars on the street, including a yellow taxi. In the background, there are buildings and trees. The weather looks a bit gloomy, possibly a rainy day. There are also pedestrians and traffic lights on the street.

ai_classify

  • Deskripsi: Mengklasifikasikan teks input berdasarkan label klasifikasi yang diberikan.

    SELECT ai_classify([model,] content, labels)
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • content: Wajib. Teks yang akan diklasifikasikan. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

    • labels: Wajib. Daftar label klasifikasi yang diharapkan. Jumlah label harus antara 2 hingga 20. Parameter ini bertipe ARRAY.

  • Nilai kembali

    • Mengembalikan hasil klasifikasi, yaitu label yang cocok. Tipe kembaliannya adalah TEXT.

    • Jika parameter content bernilai NULL, nilai kembali adalah NULL.

    • Jika content berupa string kosong (""), nilai kembali adalah NULL.

    • Jika jumlah label salah, terjadi error.

  • Contoh

    CREATE TABLE product_detail(
        product_name TEXT,
        product_desc TEXT
    );
    INSERT INTO product_detail VALUES
    ('iphone','Apple phone'),
    ('p50','Huawei phone'),
    ('x200','vivo phone'),
    ('aaa','Dior dress'),
    ('bbb','Dior pants'),
    ('Sheng Sheng Oolong','Milk tea from Cha Yan Yue Se'),
    ('Sandwich cookie','Oreo cookie');
    
    --Gunakan ai_classify untuk mengklasifikasikan teks
    SELECT
        product_name,
        ai_classify(product_desc, ARRAY['Electronics', 'Clothing', 'Food']) AS category
      FROM
         product_detail
      LIMIT 10;

    Hasil berikut dikembalikan.

    product_name	|category
    --------------|------
    aaa	          |Clothing
    iphone	      |Electronics
    Sheng Sheng Oolong	      |Food
    p50	          |Electronics
    x200	        |Electronics
    bbb	          |Clothing
    Sandwich cookie	      |Food

ai_extract

  • Deskripsi: Menambang informasi label tertentu dari teks input.

    SELECT ai_extract([model,] content, labels)
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • content: Wajib. Teks input. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

    • labels: Wajib. Informasi label yang ditentukan. Jumlah label harus antara 1 hingga 20. Parameter ini bertipe ARRAY.

  • Nilai kembali

    • Mengembalikan informasi yang ditambang untuk setiap label dalam format JSON.

    • Jika parameter content bernilai NULL atau string kosong (""), nilai kembali adalah NULL.

    • Jika jumlah label salah, terjadi error.

  • Contoh

    CREATE TABLE users (
      user_id TEXT,
      resume TEXT
    );
    
    INSERT INTO users (user_id, resume) VALUES
      ('u001', 'Name: Zhang San, Male, 28 years old. Email: zhangsan@example.com, Phone: 1380013****. Rich work experience.'),
      ('u002', 'Name: Li Si, Female, 35 years old. Phone: 1390013****, Email: lisi@example.com. Has management experience.'),
      ('u003', 'Name: Wang Wu, Male, 25 years old. Email: wangwu@example.com. Phone: 1370013****.');
    
    SELECT
      user_id,
      ai_extract(resume, ARRAY['Name','Email','Phone','Gender','Age']) AS user_desc_obj
    FROM
      users;

    Hasil berikut dikembalikan.

    user_id	|user_desc_obj
    --------|-------------
    u002	  |"{"Name":"Li Si","Age":"35 years old","Gender":"Female","Phone":"1390013****","Email":"lisi@example.com"}"
    u003	  |"{"Name":"Wang Wu","Age":"25 years old","Gender":"Male","Phone":"1370013****","Email":"wangwu@example.com"}"
    u001	  |"{"Name":"Zhang San","Age":"28 years old","Gender":"Male","Phone":"1380013****","Email":"zhangsan@example.com"}"

ai_mask

  • Deskripsi: Menyembunyikan informasi label tertentu dalam teks input. Informasi yang disembunyikan diganti dengan placeholder [MASKED].

    SELECT ai_mask([model,] content, labels)
  • Parameter:

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • content: Wajib. Teks input yang akan disembunyikan. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

    • labels: Wajib. Informasi label yang akan disembunyikan. Jumlah label harus antara 1 hingga 20. Parameter ini bertipe ARRAY.

  • Nilai kembali

    • Mengembalikan konten teks yang telah disamarkan.

    • Jika parameter content bernilai NULL, nilai kembali adalah NULL.

    • Jika parameter content berupa string kosong (""), nilai kembali adalah string kosong.

    • Jika jumlah label salah, terjadi error.

  • Contoh

    SELECT ai_mask(
      'User Wang Xiaoming, ID card number: 2303061111111111, mobile phone number: 1388888****.',
      ARRAY['ID Card', 'Mobile Phone Number']); 

    Hasil berikut dikembalikan.

    ai_mask
    -------
    User Wang Xiaoming, ID card number: [MASKED], mobile phone number: [MASKED].

ai_fix_grammar

  • Deskripsi: Memperbaiki kesalahan sintaksis dalam teks input.

    SELECT ai_fix_grammar([model,] content)
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • content: Wajib. Teks input yang sintaksisnya akan diperbaiki. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

  • Nilai kembali

    • Mengembalikan konten teks yang telah diperbaiki.

    • Jika parameter content bernilai NULL, nilai kembali adalah NULL.

    • Jika parameter content berupa string kosong (""), nilai kembali adalah string kosong ("").

  • Contoh

    SELECT ai_fix_grammar('He dont know what to did.');

    Hasil berikut dikembalikan.

    ai_fix_grammar
    --------------
    He doesn't know what to do.

ai_summarize

  • Deskripsi: Menghasilkan ringkasan dari teks input.

    SELECT ai_summarize([model,] content[, max_words])
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • content: Wajib. Teks input. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

    • max_words: Opsional. Jumlah maksimum kata yang dihasilkan oleh LLM. Model akan mencoba menghasilkan hasil yang mendekati nilai ini. Nilai default adalah 50. Jika diatur ke 0, tidak ada batasan.

  • Nilai kembali

    • Mengembalikan ringkasan teks.

    • Jika parameter content bernilai NULL, nilai kembali adalah NULL.

    • Jika parameter content berupa string kosong (""), nilai kembali adalah string kosong ("").

    • Jika max_words kurang dari 0, terjadi error.

  • Contoh

    SELECT ai_summarize('Hologres is a one-stop real-time data warehouse engine (Real-Time Data Warehouse) developed by Alibaba. It supports real-time writing, updating, processing, and analysis of massive amounts of data. It supports standard SQL (compatible with the PostgreSQL protocol and syntax, and supports most PostgreSQL functions). It supports petabyte-scale multidimensional analysis (OLAP) and ad hoc analysis. It supports high-concurrency and low-latency online data services (Serving). It supports fine-grained isolation for multiple workloads and enterprise-level security capabilities. It is deeply integrated with MaxCompute, Flink, and DataWorks to provide an enterprise-level, integrated, online and offline, full-stack data warehouse solution.', 15);

    Hasil berikut dikembalikan.

    ai_summarize
    ------------
    Hologres is a real-time data warehouse engine developed by Alibaba that supports real-time processing and multidimensional analysis of massive data.

ai_translate

  • Deskripsi: Menerjemahkan teks input ke bahasa yang ditentukan.

    SELECT ai_translate([model,] content, to_lang)
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • content: Wajib. Teks input yang akan diterjemahkan. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

    • to_lang: Wajib. Kode bahasa target. Untuk informasi selengkapnya, lihat ISO 639.

  • Nilai kembali

    • Mengembalikan teks yang telah diterjemahkan.

    • Jika parameter content bernilai NULL, nilai kembali adalah NULL.

    • Jika parameter content berupa string kosong (""), nilai kembali adalah string kosong ("").

    • Jika parameter to_lang tidak valid, terjadi error.

  • Contoh

    SELECT ai_translate('Hologres is a one-stop real-time data warehouse engine (Real-Time Data Warehouse) developed by Alibaba. It supports real-time writing, updating, processing, and analysis of massive amounts of data. It supports standard SQL (compatible with the PostgreSQL protocol and syntax, and supports most PostgreSQL functions). It supports petabyte-scale multidimensional analysis (OLAP) and ad hoc analysis. It supports high-concurrency and low-latency online data services (Serving). It supports fine-grained isolation for multiple workloads and enterprise-level security capabilities. It is deeply integrated with MaxCompute, Flink, and DataWorks to provide an enterprise-level, integrated, online and offline, full-stack data warehouse solution.', 'en');

    Hasil berikut dikembalikan.

    ai_translate
    -----------
    Hologres is a self-developed one-stop real-time data warehouse engine by Alibaba, supporting real-time writing, real-time updating, real-time processing, and real-time analysis of massive data. It supports standard SQL (compatible with PostgreSQL protocol and syntax, supporting most PostgreSQL functions), supports multi-dimensional analysis (OLAP) and ad-hoc analysis at the PB-level, supports high-concurrency, low-latency online data services (Serving), supports fine-grained isolation for multiple workloads and enterprise-level security capabilities, and is deeply integrated with MaxCompute, Flink, and DataWorks, providing an enterprise-level fully stacked data warehouse solution that integrates online and offline processing.

ai_similarity

  • Deskripsi: Menghitung kemiripan antara dua teks input.

    SELECT ai_similarity([model,] text1, text2)
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • text1 dan text2: Dua teks yang akan dibandingkan kemiripannya. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

  • Nilai kembali

    • Mengembalikan nilai FLOAT dalam rentang [0, 1]. Nilai yang lebih tinggi menunjukkan kemiripan yang lebih tinggi. 0 berarti sama sekali tidak mirip, dan 1 berarti kedua teks identik.

    • Jika salah satu parameter text1 atau text2 bernilai NULL, nilai kembali adalah 0.

    • Jika kedua parameter text1 dan text2 berupa string kosong (""), nilai kembali adalah 1.

    • Jika salah satu dari text1 dan text2 berupa string kosong ("") dan yang lainnya bukan string kosong, nilai kembali adalah 0.

  • Contoh

    CREATE TABLE products2 (
        product_name TEXT
    );
    
    INSERT INTO products2 (product_name) VALUES
      ('white shirt'), ('black dress pants'), ('casual top'), ('sports jacket'), ('white dress'),
      ('Bluetooth headset'), ('milk chocolate'), ('white top'), ('men''s T-shirt'), ('down jacket');
    
    SELECT product_name FROM products2 
      ORDER BY ai_similarity(product_name, 'white top') DESC LIMIT 5;
    

    Hasil berikut dikembalikan.

    product_name
    ----------
    white top
    white shirt
    casual top
    white dress
    men's T-shirt

ai_analyze_sentiment

  • Deskripsi: Melakukan analisis sentimen pada teks input.

    select ai_analyze_sentiment([model,] content);
  • Parameter

    • model: Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    • content: Wajib. Teks input. Mendukung tipe karakter seperti CHAR, VARCHAR, dan TEXT.

  • Nilai kembali

    • Mengembalikan label sentimen setelah analisis. Tipe kembaliannya adalah string. Label yang dikembalikan bervariasi tergantung model.

      • Untuk LLM seri Qwen3, salah satu label berikut dikembalikan: positive, negative, neutral, atau mixed. Jika input kosong, nilai kembali adalah NULL.

      • Untuk model iic/nlp_structbert_sentiment-classification_chinese-base, label dengan probabilitas tertinggi dikembalikan: positive, negative, atau NULL. Jika input kosong, nilai kembali adalah NULL.

    • Jika parameter content bernilai NULL atau string kosong (""), nilai kembali adalah NULL.

  • Contoh

    --LLM:
    SELECT ai_analyze_sentiment('Wedding night, and success in the imperial examination.');
    -- output example: positive
    
    --Gunakan model iic/nlp_structbert_sentiment-classification_chinese-base
    SELECT ai_analyze_sentiment('A drizzling rain falls on the Mourning Day; The mourner''s heart is going to break on his way.');
    -- output example: negative

ai_parse_document

  • Deskripsi: Mengurai data tidak terstruktur dari berbagai format, seperti PDF, gambar, Word, PPT, TXT, dan Markdown, menjadi teks.

    SELECT ai_parse_document([model,] input_bytes , input_format [, output_format]);
    SELECT ai_parse_document([model,] file [, input_format, output_format]);
  • Parameter

    Nama Parameter

    Deskripsi

    model

    Opsional. Nama model yang digunakan oleh fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah diterapkan. Untuk mengubah model, terlebih dahulu terapkan model target, lalu ubah konfigurasi tabel sistem. Untuk informasi selengkapnya, lihat Ubah model untuk fungsi AI.

    input_bytes

    Wajib. Konten biner file yang akan diurai. Tipenya adalah BYTEA.

    file

    Wajib. Tipe File. Disarankan digunakan bersama Object Table.

    input_format

    Opsional. Format file. Tipenya adalah TEXT. Nilai default adalah auto. Format yang didukung meliputi PDF, Word, PPT, TXT, IMAGE, dan AUTO.

    • Format gambar yang didukung: ["jpg", "jpeg", "png", "tif", "tiff", "bmp"].

    • Jika direktori OSS berisi dokumen dengan tipe berbeda, Anda dapat mengatur input_format=auto. Model kemudian akan secara otomatis menentukan tipe file berdasarkan ekstensi nama file.

    output_format

    Opsional. Format hasil penguraian. Tipenya adalah text. Nilai default adalah JSON. Format yang didukung meliputi JSON dan markdown.

  • Nilai kembali

    Mengembalikan tipe text. Formatnya ditentukan oleh pengaturan output_format.

    • Jika output_format=JSON, output berupa string JSON bertipe text. Anda harus secara eksplisit mengonversinya ke JSON saat menggunakannya.

    • Jika penguraian gagal, teks yang menjelaskan error dikembalikan alih-alih melaporkan error.

  • Contoh

    • Mengonversi satu file PDF di OSS menjadi teks.

      SELECT object_uri, etag, ai_parse_document(to_file ('oss://xxxx-hangzhou/bs_challenge_financial_14b_dataset/pdf', 'oss-cn-hangzhou-internal.aliyuncs.com', 'acs:ram::18xxx:role/xxx'), 'auto', 'markdown') AS doc 
          FROM pdf_bs_challenge_financial_14b_dataset limit 1);
    • Mengonversi data tidak terstruktur dari Object Table menjadi teks. Untuk informasi selengkapnya, lihat Data tidak terstruktur (Object Table).

prompt

  • Deskripsi: Fungsi pembantu ini untuk fungsi AI merakit prompt untuk LLM. Dapat menyertakan prompt multimodal.

    SELECT prompt('<template_string>', <expr_1> [ , <expr_2>, ... ])
        FROM <table>;
  • Catatan penggunaan

    String skalar tidak didukung. Jika hanya ada satu string, kirimkan langsung ke LLM. Hindari menggunakan fungsi prompt. Fungsi ini biasanya digunakan bersama klausa FROM.

  • Parameter

    • template_string: Wajib. String templat prompt. Tipenya adalah TEXT. Gunakan {0} dan {1} sebagai placeholder untuk variabel.

    • <expr_1> [ , <expr_2>, ... ]: Beberapa parameter ekspresi. Mendukung tipe seperti TEXT, NUMERIC, dan FILE.

  • Nilai kembali

    Umumnya mengembalikan tipe JSON dengan format berikut:

    {
      "prompt": "<template_string>",
      "args": ARRAY(<value_1>, <value_2>, ...)
    }

    Kasus khusus:

    • Jika parameter template_string bernilai NULL, terjadi error.

    • Jika ekspresi mengembalikan NULL, nilainya diganti dengan string "None" dalam template_string.

    • Jika baris dalam hasil semuanya NULL, baris tersebut tidak difilter. Sebaliknya, semua nilai dalam Args diisi dengan "None".

  • Contoh

    create table customer_service_konwledge_detail(
      question text, 
      question_summarize text
    );
    
    insert into customer_service_konwledge_detail values
    ('Many OOM SQL statements suddenly appeared in the instance', 'Backend investigation found that the customer''s traffic increased, and the existing resources were insufficient to support the traffic. The customer has resolved the issue by scaling out'),
    ('DataWorks cannot connect to Hologres', 'This is not our issue. Contact the DataWorks support on duty');
    
    -- prompt
    SELECT question, question_summarize, ai_gen(
      prompt('The customer''s ticket content is: {0}. The Alibaba Cloud support''s answer is: {1}. Did this answer solve the customer''s problem? Output only yes or no', question, question_summarize)) 
          from customer_service_konwledge_detail;
         

    Hasil berikut dikembalikan.

              question           |                                 question_summarize                                 | ai_gen 
    -----------------------------+------------------------------------------------------------------------------------+--------
     DataWorks cannot connect to Hologres | This is not our issue. Contact the DataWorks support on duty                                              | No
     Many OOM SQL statements suddenly appeared in the instance    | Backend investigation found that the customer's traffic increased, and the existing resources were insufficient to support the traffic. The customer has resolved the issue by scaling out | Yes
    (2 rows)

to_file

  • Deskripsi: Fungsi tool ini mengonversi URL ke tipe FILE.

    select to_file(oss_url, oss_endpoint, oss_rolearn);
  • Catatan penggunaan

    Ini adalah fungsi tool dan tidak memerlukan model.

  • Parameter

    • oss_url: Wajib. Path file OSS yang akan diurai. Tipenya adalah text.

    • oss_endpoint: Wajib. Nama domain wilayah OSS. Tipenya adalah text. Hanya mendukung nama domain jaringan klasik.

    • oss_rolearn: Wajib. RoleARN untuk mengakses OSS.

  • Nilai kembali

    Mengembalikan tipe FILE. Terjadi error jika path file URL tidak valid atau file tidak ada.

  • Contoh

    select to_file('oss://****/bd****k/val/images/b9b53753-91a5****.jpg','oss-cn-hangzhou-internal.aliyuncs.com','acs:ram::****' );

Fungsi AI dan Model

Lihat pemetaan antara fungsi dan model

Hologres menyediakan tabel sistem list_ai_function_infos untuk melihat pemetaan antara fungsi AI dan model. Setelah Anda menerapkan model di konsol Hologres, tabel sistem ini secara otomatis diperbarui dengan model yang sesuai untuk setiap fungsi AI. Anda kemudian dapat memanggil model yang sesuai menggunakan fungsi AI tersebut.

Catatan

Fungsi AI yang berbeda harus disesuaikan dengan tipe model tertentu. Misalnya, ai_embed cocok untuk model embedding, dan ai_classify cocok untuk LLM. Jika hanya satu tipe model yang diterapkan dalam instans, beberapa fungsi AI mungkin tidak memiliki model yang ditetapkan. Jika fungsi AI tidak memiliki model yang sesuai yang diterapkan, Anda tidak dapat menggunakan fungsi AI tersebut.

SELECT * FROM list_ai_function_infos();

Hasil berikut dikembalikan.

    function_name     |    model_name    
----------------------+------------------
 ai_embed             | my_gte_embedding
 ai_classify          | my_qwen32b
 ai_extract           | my_qwen32b

Ubah model untuk fungsi AI

Fungsi AI memiliki pemetaan default ke model yang diterapkan. Anda dapat mengubah model untuk fungsi AI sebagai berikut. Setelah diubah, model baru akan dipanggil saat Anda menggunakan fungsi AI tersebut.

  • Modifikasi global

    SELECT set_ai_function_info('<function_name>', '<model_name>');

    Parameter

    • function_name: Nama fungsi AI. Anda dapat melihat nama fungsi AI di tabel Ringkasan Fungsi AI.

    • model_name: Nama model yang telah diterapkan. Anda dapat login ke Konsol Hologres dan melihat nama model yang diterapkan di halaman AI Node.

    Catatan

    Terjadi error jika nama fungsi AI atau nama model yang diterapkan yang ditentukan tidak ada.

    Contoh

    SELECT set_ai_function_info('ai_embed', 'my_gte_embedding');
  • Modifikasi tingkat session

    Setelah modifikasi tingkat session, konfigurasi tingkat session akan diutamakan daripada konfigurasi global (ai_function_info) saat Anda memanggil model menggunakan fungsi AI.

    --Berlaku hanya untuk koneksi saat ini
    SET hg_experimental_ai_function_name_to_model_name_mapping='<function_name>:<model_name>[,<function_name1>:<model_name1>]';

Praktik Terbaik

Setelah memahami penggunaan dasar fungsi AI, Anda dapat mempelajari cara mengombinasikannya untuk menyelesaikan masalah bisnis kompleks melalui praktik terbaik berikut.