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
-
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 |
|
Mengonversi URL ke tipe FILE. |
Tidak memerlukan model. Biasanya digunakan bersama Object Tables. |
V4.0 dan versi yang lebih baru |
|
|
Merakit prompt untuk large language model (LLM). Dapat membungkus prompt multimodal. |
Tidak memerlukan model. |
||
|
Mengurai data tidak terstruktur, seperti PDF dan gambar, menjadi teks. |
ds4sd/docling-models. |
||
|
Menghitung vektor kontinu berdimensi tetap untuk teks atau gambar yang diberikan. |
Teks:
Gambar: clip-ViT-B series. |
|
|
|
Memberikan skor relevansi teks yang diberikan. |
LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B. |
V3.2.2 dan versi yang lebih baru |
|
|
Memisahkan teks panjang menjadi segmen. |
recursive-character-text-splitter. |
||
|
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. |
|
|
|
Mengklasifikasikan teks input berdasarkan label klasifikasi yang diberikan. |
LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B. |
V3.2 dan versi yang lebih baru |
|
|
Menambang informasi label tertentu dari teks input. |
LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B. |
||
|
Menyembunyikan informasi label tertentu dalam teks input. Informasi yang disembunyikan diganti dengan placeholder |
LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B. |
||
|
Memperbaiki kesalahan sintaksis dalam teks input. |
LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B. |
||
|
Menghasilkan ringkasan dari sepotong teks. |
LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B. |
||
|
Menerjemahkan teks input ke bahasa yang ditentukan. |
LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B. |
||
|
Menghitung kemiripan antara dua teks input. |
LLM seri Qwen3. Disarankan menggunakan Qwen/Qwen3-32B. |
||
|
Menjalankan analisis sentimen pada teks input. |
|
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
-
Jika parameter content bernilai NULL atau string kosong, nilai kembali adalah NULL.
-
Jika file bernilai NULL, nilai kembali adalah NULL.
-
Dimensi vektor yang dikembalikan bergantung pada model yang dipanggil. Model yang didukung beserta dimensi vektor yang dikembalikannya adalah sebagai berikut:
Nama Model
Klasifikasi
Dimensi Vektor yang Dikembalikan
Versi Hologres yang Didukung
Image embedding
-
Ukuran patch gambar: 32 × 32
-
Jumlah parameter: 88 M
-
Dimensi vektor yang dikembalikan: 512
V4.0 dan versi yang lebih baru
CatatanInput gambar tidak didukung. Untuk gambar, tetap gunakan clip-ViT-B-32.
Text embedding
-
Ukuran patch gambar: 32 × 32
-
Jumlah parameter: 88 M
-
Dimensi vektor yang dikembalikan: 512
Image embedding
-
Ukuran patch gambar: 16 × 16
-
Jumlah parameter: 88 M
-
Dimensi vektor yang dikembalikan: 512
Image embedding
-
Ukuran patch gambar: 14 × 14
-
Jumlah parameter: 304 M
-
Dimensi vektor yang dikembalikan: 768
Text embedding
512
V3.2 dan versi yang lebih baru
Text embedding
768
Text embedding
1024
Text embedding
1024
Text embedding
2560
Text embedding
4096
-
-
-
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.
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.
CatatanTerjadi 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.