全部产品
Search
文档中心

Hologres:Fungsi AI

更新时间:Nov 01, 2025

Mulai versi V3.2, Hologres mendukung fungsi AI yang menyediakan operator untuk penyematan, perangkingan, dan inferensi AI. Anda dapat memanggil fungsi-fungsi ini langsung menggunakan SQL standar tanpa memerlukan layanan inferensi terpisah, memungkinkan penggunaan berbasis AI seperti membangun dan menanyai basis pengetahuan perusahaan.

Prasyarat

  1. Anda telah membeli sumber daya AI.

  2. Anda telah menerapkan model.

Daftar fungsi AI

Hologres mendukung fungsi AI berikut:

  • Berdasarkan model yang telah Anda terapkan, Hologres secara otomatis menetapkan model default optimal untuk menjalankan setiap fungsi AI. Pemetaan default ini dapat dilihat di tabel sistem.

  • Saat memanggil fungsi AI, Anda dapat menghilangkan nama model untuk menggunakan model default. Untuk mengubah model untuk suatu fungsi AI, modifikasi konfigurasinya di tabel sistem. Lihat Ubah model default untuk fungsi AI untuk informasi lebih lanjut.

  • Setiap model memerlukan jumlah sumber daya AI yang berbeda untuk penerapan. Pilih spesifikasi sumber daya AI sesuai kebutuhan.

Nama Fungsi AI

Deskripsi

Model yang Didukung

Versi yang Didukung

to_file

Mengonversi URL menjadi tipe FILE.

Tidak memerlukan model. Biasanya digunakan dengan Tabel Objek.

V4.0 dan yang lebih baru

prompt

Merakit prompt untuk LLM. Dapat membungkus prompt multimodal.

Tidak memerlukan model.

ai_parse_document

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

ds4sd/docling-models

ai_embed

Menghasilkan vektor embedding dari teks atau gambar input.

Model Teks:

  • Seri iic/nlp_gte_sentence-embedding_chinese.

  • Seri Qwen/Qwen3-Embedding-XB.

Model gambar: seri clip-ViT-B.

  • Penyematan teks didukung di V3.2 dan yang lebih baru.

  • Penyematan gambar didukung di V4.0 dan yang lebih baru.

ai_rank

Memberi skor relevansi satu teks terhadap teks lainnya.

LLM seri Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B.

V3.2.2 dan yang lebih baru

ai_chunk

Melakukan pemotongan teks pada teks panjang.

recursive-character-text-splitter.

ai_gen

Memanggil LLM dengan prompt untuk melakukan inferensi pada teks atau gambar dan menghasilkan respons.

Model teks: seri model Qwen3. Direkomendasikan menggunakan Qwen/Qwen3-32B.

Model gambar: Qwen/Qwen2.5-VL-xB.

  • Inferensi teks didukung di V3.2 dan yang lebih baru.

  • Inferensi gambar didukung di V4.0 dan yang lebih baru.

ai_classify

Mengklasifikasikan teks input terhadap daftar label yang diberikan.

Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B.

V3.2 dan yang lebih baru

ai_extract

Mengekstrak informasi dari teks input berdasarkan daftar label yang diberikan.

Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B.

ai_mask

Menyamarkan informasi tertentu dalam teks, menggantinya dengan placeholder [MASKED].

Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B.

ai_fix_grammar

Memperbaiki kesalahan tata bahasa dalam teks input.

Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B.

ai_summarize

Menghasilkan ringkasan dari teks yang diberikan.

Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B.

ai_translate

Menerjemahkan teks input ke dalam bahasa tertentu.

Seri model besar Qwen3. Qwen/Qwen3-32B direkomendasikan.

ai_similarity

Menerjemahkan teks input ke dalam bahasa lain.

Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B.

ai_analyze_sentiment

Menghitung tingkat kemiripan antara dua teks masukan.

  • Seri model Qwen3. Qwen/Qwen3-32B direkomendasikan.

  • iic/nlp_structbert_sentiment-classification_chinese-base.

Menggunakan Fungsi AI

ai_embed

  • Deskripsi: Menghasilkan vektor embedding dari teks atau gambar input.

    -- Hasilkan penyematan teks
    select ai_embed([model,] content);
    -- Hasilkan penyematan gambar
    select ai_embed([model,] file);
  • Parameter

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

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

    • file: Wajib. File gambar input (tipe FILE). Didukung di Hologres V4.0+.

  • Nilai Kembali

  • Contoh

    • Penyematan teks

      SELECT ai_embed('Hologres adalah mesin gudang data real-time satu atap yang dikembangkan sendiri oleh Alibaba. Ini mendukung penulisan, pembaruan, pemrosesan, dan analisis data dalam jumlah besar secara real-time.');

      Hasil berikut dikembalikan.

      ai_embed
      -------
      {-0.020090256, -0.009496426, -0.01584659, ..., -0.057956327}
    • Penyematan gambar

      --Buat penyematan untuk gambar di OSS.
      SELECT ai_embed('clip-ViT-B-32', to_file('oss://****', 'oss-ap-southeast-1-internal.aliyuncs.com', 'roleran'));

ai_rank

  • Deskripsi: Memberi skor relevansi dokumen target (sentence_to_compare) terhadap kueri sumber (source_sentence).

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

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

    • source_sentence: Wajib. Teks sumber. Mendukung CHAR, VARCHAR, dan TEXT.

    • sentence_to_compare: Wajib. Kalimat yang akan dibandingkan dengan source_sentence. Mendukung CHAR, VARCHAR, dan TEXT.

  • Nilai Kembali

    • Mengembalikan skor FLOAT dalam rentang [0, 1]. Skor yang lebih tinggi menunjukkan relevansi yang lebih besar.

    • Mengembalikan 0 jika parameter source_sentence atau sentence_to_compare adalah NULL.

  • Contoh

    SELECT knowledge, ai_rank('Berapa pendapatan Alibaba pada tahun 2024?', knowledge) AS score
      FROM (
          VALUES ('Pendapatan Amazon pada tahun 2024 adalah USD 638 miliar.'), 
                 ('Pendapatan Alibaba pada tahun 2024 adalah CNY 941,168 miliar.'), 
                 ('Pendapatan Alibaba pada tahun 2023 adalah CNY 868,687 miliar.')
      ) AS knowledge_table(knowledge)
      ORDER BY score DESC;

    Fungsi mengembalikan hasil berikut.

    knowledge	                  | score
    -----------------------------/-------
    Pendapatan Alibaba pada tahun 2024 adalah CNY 941,168 miliar.	 |0.899999976
    Pendapatan Alibaba pada tahun 2023 adalah CNY 868,687 miliar. |0.200000003
    Pendapatan Amazon pada tahun 2024 adalah USD 638 miliar.	   |0.100000001

ai_chunk

  • Deskripsi: Melakukan pemotongan teks pada teks panjang.

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

    Nama parameter

    Deskripsi

    model

    Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, Anda harus terlebih dahulu menerapkan model target dan kemudian memperbarui konfigurasi tabel sistem. Untuk detailnya, lihat Ubah model default untuk fungsi AI.

    long_sentence

    Wajib. Teks sumber yang akan dipotong. Mendukung CHAR, VARCHAR, dan TEXT.

    chunk_size

    Opsional. Panjang setiap potongan. Mendukung INT. Defaultnya adalah 300.

    chunk_overlap

    Opsional. Panjang tumpang tindih antara potongan yang berdekatan untuk menghindari pemutusan kalimat dan mengganggu semantik. Mendukung INT. Defaultnya adalah 50.

    separators

    Opsional. Array pemisah untuk membagi potongan. Tipe ini adalah TEXT[]. Defaultnya adalah ["\n\n", "\n", " ", ""].

  • Nilai Kembali

    • Mengembalikan array TEXT[] yang berisi daftar potongan.

    • Mengembalikan None jika parameter long_sentence adalah None.

  • Contoh

    SELECT ai_chunk('Hologres adalah layanan gudang data real-time serba guna yang dikembangkan oleh Alibaba Cloud. Anda dapat menggunakan Hologres untuk menulis, memperbarui, memproses, dan menganalisis sejumlah besar data secara real-time. Hologres mendukung sintaks SQL standar, kompatibel dengan PostgreSQL, dan mendukung sebagian besar fungsi PostgreSQL. Hologres mendukung pemrosesan analitik online (OLAP) dan analisis ad hoc hingga petabyte data, serta menyediakan layanan data dengan konkurensi tinggi dan latensi rendah. Hologres mendukung isolasi terperinci dari berbagai beban kerja dan kemampuan keamanan tingkat perusahaan. Hologres terintegrasi mendalam dengan MaxCompute, Realtime Compute for Apache Flink, dan DataWorks, serta menyediakan solusi gudang data batch dan real-time penuh untuk perusahaan.',40,10);

    Fungsi mengembalikan hasil berikut.

    ai_chunk
    ---
    "{"Hologres adalah layanan gudang data real-time serba guna","yang dikembangkan oleh Alibaba Cloud. Anda dapat menggunakan","Hologres untuk menulis, memperbarui, memproses, dan menganalisis sejumlah besar","data secara real-time. Hologres mendukung sintaks SQL standar,","kompatibel dengan PostgreSQL, dan mendukung","sebagian besar fungsi PostgreSQL. Hologres mendukung pemrosesan analitik","online (OLAP) dan analisis ad hoc hingga petabyte","data, serta menyediakan layanan data dengan konkurensi tinggi","dan latensi rendah. Hologres mendukung isolasi terperinci dari berbagai","beban kerja dan kemampuan keamanan tingkat perusahaan. Hologres","terintegrasi mendalam dengan MaxCompute, Realtime Compute for","Apache Flink, dan DataWorks, serta menyediakan solusi gudang data","batch dan real-time penuh untuk perusahaan."}"

ai_gen

  • Deskripsi: Memanggil LLM dengan prompt dan mengembalikan respons.

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

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

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

    • file: Wajib. Gambar yang dikonversi menjadi tipe FILE menggunakan Tabel Objek. Parameter ini hanya didukung di Hologres V4.0 dan yang lebih baru.

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

  • Nilai Kembali

    • Mengembalikan respons LLM terhadap prompt.

    • Mengembalikan NULL jika parameter text adalah NULL.

    • Mengembalikan string kosong ("") jika parameter text adalah string kosong.

    • Mengembalikan kesalahan jika parameter prompt adalah NULL.

  • Contoh

    • Inferensi teks

      CREATE TABLE questions (
          question TEXT
      );
      
      INSERT INTO questions (question) VALUES
        ('Apa itu AI?'),
        ('Bagaimana cara meningkatkan manajemen waktu?'),
        ('Apa poin-poin utama dari diet sehat?');
      
      SELECT
        question,
        ai_gen('Silakan jawab pertanyaan berikut dalam 10 kata: ' || question) AS answer
      FROM
        questions;

      Fungsi mengembalikan hasil berikut.

      question                          | answer
      ----------------------------------|-------
      Apa itu AI?                       | Kecerdasan yang ditunjukkan oleh mesin, meniru fungsi kognitif manusia.
      Bagaimana cara meningkatkan manajemen waktu?   | Prioritaskan tugas, tetapkan tujuan, minimalkan gangguan, dan jadwalkan secara efektif.
      Poin-poin utama dari diet sehat?     | Nutrisi seimbang, makanan utuh, hidrasi, kontrol porsi, moderasi.
    • Inferensi gambar

      SELECT  ai_gen('jpg_llm','Apa yang ada di gambar ini?', to_file('oss://****/bd****k/val/images/b9b53753-91a5****.jpg','oss-ap-southeast-1-internal.aliyuncs.com','acs:ram::****' ) )

      Fungsi mengembalikan hasil berikut.

      ai_gen
      -----
      Gambar ini menunjukkan adegan jalan kota. Sebuah mobil putih dengan pelat nomor BTB-9784 diparkir di sisi jalan. Ada beberapa mobil di jalan, termasuk taksi kuning. Di latar belakang, ada gedung dan pohon. Cuaca terlihat suram, mungkin hujan. Ada juga pejalan kaki dan lampu lalu lintas di jalan.

ai_classify

  • Deskripsi: Mengklasifikasikan teks input terhadap daftar label yang diberikan.

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

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

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

    • labels: Wajib. Array label kandidat untuk klasifikasi. Anda harus memberikan 2 hingga 20 label. Mendukung tipe ARRAY.

  • Nilai Kembali

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

    • Mengembalikan NULL jika parameter content adalah NULL.

    • Mengembalikan NULL jika parameter content adalah string kosong ("").

    • Fungsi mengembalikan kesalahan jika jumlah label berada di luar rentang valid (2-20).

  • Contoh

    CREATE TABLE product_detail(
        product_name TEXT,
        product_desc TEXT
    );
    INSERT INTO product_detail VALUES
    ('iPhone','Smartphone yang dikembangkan oleh Apple'),
    ('P50','Smartphone yang dikembangkan oleh Huawei'),
    ('X200','Smartphone yang dikembangkan oleh vivo'),
    ('Venus','Gaun DIOR'),
    ('Junon','Gaun DIOR'),
    ('Oolong Milk Tea','Cha Yan Yue Se'),
    ('Sandwich Cookies','Kue Oreo');
    
    -- Klasifikasikan teks menggunakan ai_classify
    SELECT
        product_name,
        ai_classify(product_desc, ARRAY['Elektronik', 'Pakaian', 'Makanan']) AS category
      FROM
         product_detail
      LIMIT 10;

    Fungsi mengembalikan hasil berikut.

    product_name       | category
    -------------------|-----------
    Venus              | Pakaian
    iPhone             | Elektronik
    Oolong Milk Tea    | Makanan
    P50                | Elektronik
    X200               | Elektronik
    Junon              | Pakaian
    Sandwich Cookies   | Makanan

ai_extract

  • Deskripsi: Mengekstrak informasi dari teks input berdasarkan label yang diberikan.

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

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

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

    • labels: Wajib. Label untuk ekstraksi informasi. Jumlah label harus antara 1 dan 20. Mendukung tipe ARRAY.

  • Nilai Kembali

    • Mengembalikan objek JSON yang berisi pasangan kunci-nilai yang diekstrak.

    • Mengembalikan NULL jika parameter content adalah NULL atau string kosong ("").

    • Kesalahan dilaporkan jika jumlah label dalam parameter labels tidak valid.

  • Contoh

    CREATE TABLE users (
      user_id TEXT,
      resume TEXT
    );
    
    INSERT INTO users (user_id, resume) VALUES
      ('u001', 'Nama: John Smith, laki-laki, 28 tahun. Email: john.smith@example.com, Telepon: 1380013****. Pengalaman kerja luas.'),
      ('u002', 'Nama: Jane Doe, perempuan, 35 tahun. Telepon: 1390013****, Email: jane.doe@example.com. Memiliki pengalaman manajemen.'),
      ('u003', 'Nama: Sam Wang, laki-laki, 25 tahun. Email: sam.wang@example.com. Telepon: 1370013****.');
    
    SELECT
      user_id,
      ai_extract(resume, ARRAY['Nama','Email','Telepon','Jenis Kelamin','Usia']) AS user_desc_obj
    FROM
      users;

    Fungsi mengembalikan hasil berikut.

    user_id | user_desc_obj
    --------|-------------
    u002    | "{"Nama":"Jane Doe","Usia":"35 tahun","Jenis Kelamin":"perempuan","Telepon":"1390013****","Email":"jane.doe@example.com"}"
    u003    | "{"Nama":"Sam Wang","Usia":"25 tahun","Jenis Kelamin":"laki-laki","Telepon":"1370013****","Email":"sam.wang@example.com"}"
    u001    | "{"Nama":"John Smith","Usia":"28 tahun","Jenis Kelamin":"laki-laki","Telepon":"1380013****","Email":"john.smith@example.com"}"

ai_mask

  • Deskripsi: Menyamarkan informasi teks dengan placeholder [MASKED].

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

    • model: Opsional. Model yang digunakan untuk fungsi AI. Secara default, sistem secara otomatis memilih model optimal dari model yang telah diterapkan. Untuk mengubah model, terapkan terlebih dahulu model target, lalu perbarui konfigurasi tabel sistem. Untuk detail lebih lanjut, lihat Ubah model default untuk fungsi AI.

    • content: Wajib. Teks input yang akan disamarkan. Mendukung tipe data CHAR, VARCHAR, dan TEXT.

    • labels: Wajib. Label informasi yang akan disamarkan. Jumlah label harus berada dalam rentang 1 hingga 20. Mendukung tipe ARRAY.

  • Nilai Kembali

    • Mengembalikan teks yang telah disamarkan.

    • Mengembalikan NULL jika parameter content adalah NULL.

    • Mengembalikan string kosong ("") jika parameter content adalah string kosong.

    • Kesalahan dilaporkan jika jumlah label dalam parameter labels tidak valid.

  • Contoh

    SELECT ai_mask(
      'Pengguna Alex Ray, nomor KTP: 23030611111111, nomor telepon: 1388888****.',
      ARRAY['KTP', 'Nomor telepon']); 

    Fungsi mengembalikan hasil berikut.

    ai_mask
    -------
    Pengguna Alex Ray, nomor KTP: [MASKED], nomor telepon: [MASKED].

ai_fix_grammar

  • Deskripsi: Memperbaiki kesalahan tata bahasa dalam teks input.

    SELECT ai_fix_grammar([model,] content)
  • Parameter

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

    • content: Wajib. Teks input dengan kesalahan tata bahasa yang akan diperbaiki. Mendukung CHAR, VARCHAR, dan TEXT.

  • Nilai Kembali

    • Mengembalikan teks yang telah diperbaiki.

    • Mengembalikan NULL jika parameter content adalah NULL.

    • Mengembalikan string kosong ("") jika parameter content adalah string kosong.

  • Contoh

    SELECT ai_fix_grammar('Dia tidak tahu apa yang harus dilakukan.');

    Fungsi mengembalikan hasil berikut.

    ai_fix_grammar
    --------------
    Dia tidak tahu apa yang harus dilakukan.

ai_summarize

  • Deskripsi: Menghasilkan ringkasan dari teks input.

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

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

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

    • max_words: Opsional. Jumlah maksimum kata untuk output. Model mencoba menghasilkan ringkasan dengan panjang sekitar ini. Defaultnya adalah 50. Nilai 0 berarti tidak ada batasan kata.

  • Nilai Kembali

    • Mengembalikan ringkasan teks.

    • Mengembalikan NULL jika parameter content adalah NULL.

    • Mengembalikan string kosong ("") jika parameter content adalah string kosong.

    • Kesalahan dilaporkan jika nilai max_words kurang dari 0.

  • Contoh

    SELECT ai_summarize('Hologres adalah layanan gudang data real-time serba guna yang dikembangkan oleh Alibaba Cloud. Anda dapat menggunakan Hologres untuk menulis, memperbarui, memproses, dan menganalisis sejumlah besar data secara real-time. Hologres mendukung sintaks SQL standar, kompatibel dengan protokol dan sintaks PostgreSQL, serta mendukung sebagian besar fungsi PostgreSQL. Hologres mendukung analisis multidimensi (OLAP) dan analisis ad hoc hingga petabyte data, serta menyediakan layanan data online dengan konkurensi tinggi dan latensi rendah. Hologres mendukung isolasi terperinci dari berbagai beban kerja dan kemampuan keamanan tingkat perusahaan. Hologres terintegrasi mendalam dengan MaxCompute, Realtime Compute for Apache Flink, dan DataWorks, serta menyediakan solusi gudang data batch dan real-time penuh untuk perusahaan.', 15);

    Fungsi mengembalikan hasil berikut.

    ai_summarize
    ------------
    Hologres: Gudang data real-time satu atap dari Alibaba Cloud, menawarkan SQL, OLAP, skala petabyte, konkurensi tinggi, dan kemampuan keamanan perusahaan.

ai_translate

  • Deskripsi: Menerjemahkan teks input ke dalam bahasa lain.

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

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

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

    • to_lang: Wajib. Kode bahasa target. Untuk detailnya, lihat ISO 639-1.

  • Nilai Kembali

    • Mengembalikan teks yang telah diterjemahkan.

    • Mengembalikan NULL jika parameter content adalah NULL.

    • Mengembalikan string kosong ("") jika parameter content adalah string kosong.

    • Kesalahan dilaporkan jika parameter to_lang tidak valid.

  • Contoh

    SELECT ai_translate('Hologres adalah mesin gudang data real-time satu atap yang dikembangkan sendiri oleh Alibaba, mendukung penulisan, pembaruan, pemrosesan, dan analisis data dalam jumlah besar secara real-time. Ini mendukung SQL standar (kompatibel dengan protokol dan sintaks PostgreSQL, mendukung sebagian besar fungsi PostgreSQL), mendukung analisis multidimensi (OLAP) dan analisis ad hoc pada skala petabyte, mendukung layanan data online dengan konkurensi tinggi dan latensi rendah, mendukung isolasi terperinci dari berbagai beban kerja dan kemampuan keamanan tingkat perusahaan, terintegrasi mendalam dengan MaxCompute, Flink, dan DataWorks, serta menyediakan solusi gudang data batch dan real-time penuh untuk perusahaan.', 'en');

    Hasilnya adalah sebagai berikut.

    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 kesamaan antara dua teks input.

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

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

    • text1 dan text2: Wajib. Dua teks yang akan dibandingkan kesamaannya. Mendukung CHAR, VARCHAR, dan TEXT.

  • Nilai Kembali

    • Mengembalikan skor FLOAT dari 0.0 (tidak mirip) hingga 1.0 (identik), di mana skor yang lebih tinggi menunjukkan kesamaan yang lebih besar.

    • Mengembalikan 0 jika parameter text1 atau text2 adalah NULL.

    • Mengembalikan 1 jika kedua parameter text1 dan text2 adalah string kosong ("").

    • Mengembalikan 0 jika salah satu parameter text1 atau text2 adalah string kosong ("") dan yang lainnya adalah string tidak kosong.

  • Contoh

    CREATE TABLE products2 (
        product_name TEXT
    );
    
    INSERT INTO products2 (product_name) VALUES
      ('kemeja putih'), ('celana hitam'), ('atasan kasual'), ('jaket olahraga'), ('gaun putih'),
      ('headphone Bluetooth'), ('cokelat susu'), ('atasan putih'), ('kaos pria'), ('jaket bulu');
    
    SELECT product_name FROM products2 
      ORDER BY ai_similarity(product_name, 'atasan putih') DESC LIMIT 5;
    

    Fungsi mengembalikan hasil berikut.

    product_name
    ----------
    atasan putih
    kemeja putih
    atasan kasual
    gaun putih
    kaos pria

ai_analyze_sentiment

  • Deskripsi: Melakukan analisis sentimen pada teks input.

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

    • model: Opsional. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, terapkan model target dan perbarui konfigurasi tabel sistem. Lihat Ubah model default untuk fungsi AI untuk detailnya.

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

  • Nilai Kembali

    • Mengembalikan label teks yang mewakili sentimen (misalnya, 'positif', 'negatif'). Label spesifik tergantung pada model yang digunakan.

      • Seri model Qwen3: mengembalikan `positif`, `negatif`, `netral`, atau `campuran`. Jika input kosong, mengembalikan NULL.

      • Model iic/nlp_structbert_sentiment-classification_chinese-base: mengembalikan label (`positif`, `negatif`, atau `NULL`) dengan probabilitas tertinggi. Jika input kosong, mengembalikan NULL.

    • Mengembalikan NULL jika parameter content adalah NULL atau string kosong ("").

  • Contoh

    -- Contoh 1
    SELECT ai_analyze_sentiment('Acara yang benar-benar membahagiakan dan meriah.');
    -- Output: positif
    
    -- Contoh 2
    SELECT ai_analyze_sentiment('Hari yang menyedihkan dipenuhi hujan dan air mata.');
    -- Output: negatif

ai_parse_document

  • Deskripsi: Mengurai data tidak terstruktur, seperti PDF, gambar, dokumen Word, slide PowerPoint, file TXT, dan file 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. Model yang akan digunakan untuk fungsi AI. Secara default, sistem secara otomatis menetapkan model optimal dari model yang telah Anda terapkan. Untuk mengubah model, Anda harus terlebih dahulu menerapkan model target dan kemudian memperbarui konfigurasi tabel sistem. Untuk detailnya, lihat Ubah model default untuk fungsi AI.

    input_bytes

    Wajib. Konten file sebagai byte mentah (tipe BINARY) yang akan diurai.

    file

    Wajib. File yang akan diurai, bertipe FILE. Paling baik digunakan dengan Tabel Objek.

    input_format

    Opsional. Menentukan format file input. Nilai default: auto. Nilai valid: PDF, Word, PPT, TXT, IMAGE, dan AUTO.

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

    • Jika input_format diatur ke auto (atau default ke auto) dan direktori OSS berisi jenis dokumen campuran, model secara otomatis menentukan tipe file berdasarkan ekstensinya.

    output_format

    Opsional. Menentukan format yang diinginkan untuk hasil parsing TEXT. Nilai default: JSON. Format yang didukung: JSON, markdown.

  • Nilai Kembali

    Mengembalikan string TEXT yang mewakili dokumen yang telah diurai. Format string sesuai dengan parameter output_format:

    • Jika output_format adalah JSON, hasilnya adalah string JSON. Casting eksplisit ke JSON diperlukan untuk pemrosesan lebih lanjut.

    • Jika penguraian gagal, pesan kesalahan (tipe TEXT) dikembalikan alih-alih pengecualian.

  • Contoh

    • Mengonversi file PDF tunggal di OSS menjadi teks:

      SELECT object_uri, etag, ai_parse_document(to_file ('oss://xxxx-singapore/bs_challenge_financial_14b_dataset/pdf', 'oss-ap-southeast-1-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 Tabel Objek menjadi teks. Untuk informasi lebih lanjut, lihat Data tidak terstruktur (Tabel Objek).

prompt

  • Deskripsi: Fungsi utilitas yang dirancang untuk operasi AI. Ini membuat string prompt untuk LLM, mendukung prompt berbasis teks dan multimodal.

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

    Literal string skalar langsung tidak didukung dengan fungsi ini. Jika prompt Anda hanya terdiri dari satu string tanpa variabel, lewatkan langsung ke LLM alih-alih menggunakan prompt(). Fungsi ini biasanya digunakan bersamaan dengan klausa FROM.

  • Parameter

    • template_string: Wajib. String template untuk membuat prompt. Tipe: TEXT. Gunakan {0}, {1}, dll., sebagai placeholder untuk variabel dinamis.

    • <expr_1> [ , <expr_2>, ... ]: Wajib setidaknya satu. Satu atau lebih parameter ekspresi yang akan menggantikan placeholder di template_string. Tipe yang didukung: TEXT, NUMERIC, dan FILE.

  • Nilai Kembali

    Mengembalikan objek JSON yang berisi prompt yang dirakit dan argumennya.

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

    Kasus khusus:

    • NULL template_string: Kesalahan akan dilaporkan.

    • NULL nilai ekspresi: Jika parameter ekspresi dievaluasi menjadi NULL, itu akan diganti dengan string "None" di dalam template_string.

    • Seluruh baris NULL: Jika seluruh baris yang diproses dari tabel FROM menghasilkan nilai NULL untuk semua argumen, argumen ini akan diisi dengan "None" dalam array args, dan baris itu sendiri tidak akan difilter.

  • Contoh

    create table customer_service_konwledge_detail(
      question text, 
      question_summarize text
    );
    
    insert into customer_service_konwledge_detail values
    ('Instans saya tiba-tiba memiliki banyak pekerjaan SQL OOM', 'Investigasi backend menemukan bahwa lalu lintas pelanggan meningkat, dan sumber daya yang ada tidak mencukupi. Pelanggan telah menyelesaikan masalah ini dengan penskalaan keluar.'),
    ('DataWorks tidak dapat terhubung ke Hologres.', 'Ini bukan masalah kami. Silakan hubungi dukungan DataWorks yang sedang bertugas.');
    
    -- prompt
    SELECT question, question_summarize, ai_gen(
      prompt('Isi tiket pelanggan: {0}, Balasan Aliyun: {1}. Apakah balasan ini menyelesaikan masalah pelanggan? Jawab hanya ya atau tidak.', question, question_summarize)) 
          from customer_service_konwledge_detail;
         

    Berikut adalah hasilnya.

              question           |                                 question_summarize                                 | ai_gen 
    -----------------------------+------------------------------------------------------------------------------------+--------
     DataWorks tidak dapat terhubung ke Hologres. | Ini bukan masalah kami. Silakan hubungi dukungan DataWorks yang sedang bertugas.                                              | Tidak
     Instans tiba-tiba memiliki banyak pernyataan SQL OOM    | Investigasi backend menemukan bahwa lalu lintas pelanggan meningkat, dan sumber daya yang ada tidak mencukupi. Pelanggan telah menyelesaikan masalah ini dengan penskalaan keluar. | Ya
    (2 baris)

to_file

  • Deskripsi: Mengonversi jalur file OSS yang diberikan menjadi tipe FILE untuk digunakan dalam fungsi lain.

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

    Ini adalah fungsi pembantu dan tidak memerlukan model AI.

  • Parameter

    • oss_url: Wajib. Tipe TEXT. Jalur lengkap ke file OSS.

    • oss_endpoint: Wajib. Tipe TEXT. Titik akhir OSS. Hanya titik akhir internal yang didukung.

    • oss_rolearn: Wajib. RoleARN untuk akses OSS.

  • Nilai Kembali

    Mengembalikan tipe FILE yang mewakili objek OSS. Kesalahan dilaporkan jika jalur file tidak valid atau file tidak ada.

  • Contoh

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

Mengelola hubungan antara fungsi AI dan model

Menampilkan pemetaan antara fungsi dan model

Gunakan 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 menggunakan fungsi AI untuk memanggil model tersebut.

Catatan

Fungsi AI memerlukan jenis model tertentu (misalnya, ai_embed menggunakan model penyematan, ai_classify menggunakan LLM). Menerapkan hanya satu jenis model mungkin membatasi fungsi AI yang tersedia.

SELECT * FROM list_ai_function_infos();

Fungsi mengembalikan hasil berikut.

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

Ubah model default untuk fungsi AI

Fungsi AI secara default ke model tertentu yang telah diterapkan. Anda dapat menetapkan ulang fungsi AI ke model berbeda menggunakan metode di bawah ini; mereka kemudian akan memanggil model baru.

  • Perubahan Global

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

    Parameter

    • function_name: Wajib. Nama fungsi AI. Untuk nama fungsi AI yang tepat, lihat Daftar Fungsi AI.

    • model_name: Wajib. Nama model yang telah diterapkan. Anda dapat menemukan nama model di halaman AI Node di Konsol Hologres.

    Catatan

    Kesalahan dilaporkan jika nama fungsi AI atau model yang diberikan tidak valid.

    Contoh

    SELECT set_ai_function_info('ai_embed', 'my_gte_embedding');
  • Perubahan Tingkat Sesi

    Pengaturan tingkat sesi ini menimpa konfigurasi global selama durasi koneksi saat ini.

    -- Ini hanya berlaku 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 mempelajari dasar-dasar fungsi AI, eksplorasi praktik terbaik berikut untuk kasus penggunaan dunia nyata. Contoh-contoh ini menunjukkan cara menggabungkan fungsi untuk menyelesaikan masalah bisnis yang kompleks.