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
Anda telah membeli sumber daya AI.
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 |
Mengonversi URL menjadi tipe FILE. | Tidak memerlukan model. Biasanya digunakan dengan Tabel Objek. | V4.0 dan yang lebih baru | |
Merakit prompt untuk LLM. Dapat membungkus prompt multimodal. | Tidak memerlukan model. | ||
Mengurai data tidak terstruktur, seperti PDF dan gambar, dan mengonversinya menjadi teks. | ds4sd/docling-models | ||
Menghasilkan vektor embedding dari teks atau gambar input. | Model Teks:
Model gambar: seri clip-ViT-B. |
| |
Memberi skor relevansi satu teks terhadap teks lainnya. | LLM seri Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B. | V3.2.2 dan yang lebih baru | |
Melakukan pemotongan teks pada teks panjang. | recursive-character-text-splitter. | ||
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. |
| |
Mengklasifikasikan teks input terhadap daftar label yang diberikan. | Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B. | V3.2 dan yang lebih baru | |
Mengekstrak informasi dari teks input berdasarkan daftar label yang diberikan. | Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B. | ||
Menyamarkan informasi tertentu dalam teks, menggantinya dengan placeholder [MASKED]. | Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B. | ||
Memperbaiki kesalahan tata bahasa dalam teks input. | Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B. | ||
Menghasilkan ringkasan dari teks yang diberikan. | Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B. | ||
Menerjemahkan teks input ke dalam bahasa tertentu. | Seri model besar Qwen3. Qwen/Qwen3-32B direkomendasikan. | ||
Menerjemahkan teks input ke dalam bahasa lain. | Seri model Qwen3. Model yang direkomendasikan: Qwen/Qwen3-32B. | ||
Menghitung tingkat kemiripan antara dua teks masukan. |
|
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 sepertiCHAR,VARCHAR, danTEXT.file: Wajib. File gambar input (tipe FILE). Didukung di Hologres V4.0+.
Nilai Kembali
Mengembalikan
NULLjika parametercontentadalahNULLatau string kosong.Mengembalikan
NULLjika parameterfileadalahNULL.Mengembalikan vektor dengan dimensi tertentu. Model penyematan yang didukung dan dimensi outputnya adalah sebagai berikut:
Nama model
Kategori
Rincian
Versi yang didukung
Penyematan gambar
Ukuran patch gambar: 32 × 32 piksel
Parameter: 88 juta
Dimensi vektor: 512
V4.0 dan yang lebih baru
CatatanUntuk input gambar, gunakan clip-ViT-B-32.
Penyematan teks
Dimensi vektor: 512
Penyematan gambar
Ukuran patch gambar: 16 × 16 piksel
Parameter: 88 juta
Dimensi vektor: 512
Penyematan gambar
Ukuran patch gambar: 14 × 14 piksel
Parameter: 304 juta
Dimensi vektor: 768
Penyematan teks
Dimensi vektor: 512
V3.2 dan yang lebih baru
Penyematan teks
Dimensi vektor: 768
Penyematan teks
Dimensi vektor: 1024
Penyematan teks
Dimensi vektor: 1024
Penyematan teks
Dimensi vektor: 2560
Penyematan teks
Dimensi vektor: 4096
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. MendukungCHAR,VARCHAR, danTEXT.sentence_to_compare: Wajib. Kalimat yang akan dibandingkan dengansource_sentence. MendukungCHAR,VARCHAR, danTEXT.
Nilai Kembali
Mengembalikan skor
FLOATdalam rentang [0, 1]. Skor yang lebih tinggi menunjukkan relevansi yang lebih besar.Mengembalikan 0 jika parameter
source_sentenceatausentence_to_compareadalahNULL.
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
modelOpsional. 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_sentenceWajib. Teks sumber yang akan dipotong. Mendukung
CHAR,VARCHAR, danTEXT.chunk_sizeOpsional. Panjang setiap potongan. Mendukung
INT. Defaultnya adalah 300.chunk_overlapOpsional. Panjang tumpang tindih antara potongan yang berdekatan untuk menghindari pemutusan kalimat dan mengganggu semantik. Mendukung
INT. Defaultnya adalah 50.separatorsOpsional. Array pemisah untuk membagi potongan. Tipe ini adalah
TEXT[]. Defaultnya adalah["\n\n", "\n", " ", ""].Nilai Kembali
Mengembalikan array
TEXT[]yang berisi daftar potongan.Mengembalikan
Nonejika parameter long_sentence adalahNone.
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. MendukungCHAR,VARCHAR, danTEXT.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
NULLjika parametertextadalahNULL.Mengembalikan string kosong ("") jika parameter
textadalah string kosong.Mengembalikan kesalahan jika parameter
promptadalahNULL.
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. MendukungCHAR,VARCHAR, danTEXT.labels: Wajib. Array label kandidat untuk klasifikasi. Anda harus memberikan 2 hingga 20 label. Mendukung tipeARRAY.
Nilai Kembali
Mengembalikan hasil klasifikasi, yaitu label yang cocok. Tipe kembali adalah
TEXT.Mengembalikan
NULLjika parameter content adalahNULL.Mengembalikan
NULLjika 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. MendukungCHAR,VARCHAR, danTEXT.labels: Wajib. Label untuk ekstraksi informasi. Jumlah label harus antara 1 dan 20. Mendukung tipeARRAY.
Nilai Kembali
Mengembalikan objek JSON yang berisi pasangan kunci-nilai yang diekstrak.
Mengembalikan
NULLjika parameter content adalahNULLatau 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 dataCHAR,VARCHAR, danTEXT.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
NULLjika parameter content adalahNULL.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. MendukungCHAR,VARCHAR, danTEXT.
Nilai Kembali
Mengembalikan teks yang telah diperbaiki.
Mengembalikan
NULLjika parameter content adalahNULL.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. MendukungCHAR,VARCHAR, danTEXT.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
NULLjika parameter content adalahNULL.Mengembalikan string kosong ("") jika parameter content adalah string kosong.
Kesalahan dilaporkan jika nilai
max_wordskurang 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. MendukungCHAR,VARCHAR, danTEXT.to_lang: Wajib. Kode bahasa target. Untuk detailnya, lihat ISO 639-1.
Nilai Kembali
Mengembalikan teks yang telah diterjemahkan.
Mengembalikan
NULLjika parametercontentadalahNULL.Mengembalikan string kosong ("") jika parameter
contentadalah string kosong.Kesalahan dilaporkan jika parameter
to_langtidak 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.text1dantext2: Wajib. Dua teks yang akan dibandingkan kesamaannya. MendukungCHAR,VARCHAR, danTEXT.
Nilai Kembali
Mengembalikan skor
FLOATdari0.0(tidak mirip) hingga1.0(identik), di mana skor yang lebih tinggi menunjukkan kesamaan yang lebih besar.Mengembalikan
0jika parametertext1atautext2adalahNULL.Mengembalikan
1jika kedua parametertext1dantext2adalah string kosong ("").Mengembalikan
0jika salah satu parametertext1atautext2adalah 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. MendukungCHAR,VARCHAR, danTEXT.
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
NULLjika parametercontentadalahNULLatau 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
modelOpsional. 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_bytesWajib. Konten file sebagai byte mentah (tipe BINARY) yang akan diurai.
fileWajib. File yang akan diurai, bertipe FILE. Paling baik digunakan dengan Tabel Objek.
input_formatOpsional. 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_formatdiatur keauto(atau default keauto) dan direktori OSS berisi jenis dokumen campuran, model secara otomatis menentukan tipe file berdasarkan ekstensinya.
output_formatOpsional. 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_formatadalahJSON, 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 klausaFROM.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 ditemplate_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:
NULLtemplate_string: Kesalahan akan dilaporkan.NULLnilai ekspresi: Jika parameter ekspresi dievaluasi menjadiNULL, itu akan diganti dengan string"None"di dalamtemplate_string.Seluruh baris
NULL: Jika seluruh baris yang diproses dari tabelFROMmenghasilkan nilaiNULLuntuk semua argumen, argumen ini akan diisi dengan"None"dalam arrayargs, 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.
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_qwen32bUbah 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.
CatatanKesalahan 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.