Ekstensi google_ml_integration
mencakup fungsi penyematan dalam dua namespace yang berbeda; public
dan google_ml
. Halaman ini menjelaskan cara membuat sematan teks menggunakan fungsi dari namespace ini.
Fungsi embedding()
dalam skema public
dapat digunakan dengan model embedding Vertex AI apa pun tanpa mendaftarkan endpoint. Jika Anda ingin meneruskan informasi kustom seperti jenis tugas, daftarkan endpoint, lalu gunakan fungsi google_ml.embedding()
dalam skema google_ml
. Untuk mengetahui informasi selengkapnya tentang cara mendaftarkan endpoint, lihat Mendaftarkan model.
Cara kerja penyematan
Bayangkan database yang berjalan di AlloyDB dengan karakteristik berikut:
Database berisi tabel,
items
. Setiap baris dalam tabel ini menjelaskan item yang dijual bisnis Anda.Tabel
items
berisi kolom,complaints
. KolomTEXT
ini menyimpan keluhan pembeli yang dicatat tentang setiap item.Database ini terintegrasi dengan Model Garden Vertex AI, sehingga memberikan akses ke model berbahasa Inggris
gemini-embedding-001
.
Meskipun database ini menyimpan keluhan tentang item, keluhan ini disimpan sebagai teks biasa, sehingga sulit untuk dikueri. Misalnya, untuk melihat item mana yang paling banyak dikeluhkan oleh pelanggan yang menerima warna barang yang salah, Anda dapat menjalankan kueri SQL biasa pada tabel, yang mencari berbagai kecocokan kata kunci. Namun, pendekatan ini hanya mencocokkan baris yang berisi kata kunci persis tersebut.
Misalnya, kueri SQL dasar seperti SELECT * FROM item WHERE complaints LIKE
"%wrong color%"
tidak menampilkan baris yang kolom complaints
-nya hanya berisi
The picture shows a blue one, but the one I received was red
.
Kueri SQL yang menggunakan embedding yang didukung LLM dapat membantu menampilkan respons yang mirip secara semantik untuk kueri tersebut. Dengan
menerapkan embedding, Anda dapat membuat kueri tabel dalam contoh ini untuk item yang keluhannya memiliki kemiripan semantik dengan perintah teks tertentu, seperti It was the
wrong color
.
Untuk membuat embedding, pilih salah satu skema berikut.
Sebelum memulai
Untuk mengizinkan AlloyDB membuat embedding, lakukan hal berikut:
- Hubungkan ke database Anda menggunakan
psql
atau AlloyDB for PostgreSQL Studio sebagai penggunapostgres
. - Pastikan ekstensi
google_ml_integration
telah diinstal. - Verifikasi bahwa tanda
google_ml_integration.enable_model_support
ditetapkan keon
. - Sebelum dapat membuat embedding dari database AlloyDB, Anda harus mengonfigurasi AlloyDB agar dapat digunakan dengan Vertex AI. Untuk mengetahui informasi selengkapnya, lihat Mengintegrasikan database Anda dengan Vertex AI.
Memberikan izin kepada pengguna database untuk menjalankan fungsi penyematan guna membuat penyematan:
\c DB_NAME; GRANT EXECUTE ON FUNCTION google_ml.embedding TO USER_NAME;
Ganti kode berikut:
DB_NAME: nama database tempat izin harus diberikan
USER_NAME: nama pengguna yang harus diberi izin
Membuat embedding
Gunakan fungsi SQL google_ml.embedding()
untuk memanggil model embedding teks.
Untuk memanggil model dan membuat embedding, jalankan kueri berikut:
SELECT
google_ml.embedding(
model_id => 'MODEL_ID',
content => 'CONTENT');
Ganti kode berikut:
MODEL_ID
: ID model yang memenuhi syarat, misalnya,gemini-embedding-001
.CONTENT
: teks yang akan diterjemahkan ke dalam penyematan vektor.
Contoh untuk membuat embedding
Beberapa contoh untuk membuat embedding menggunakan endpoint model terdaftar tercantum di bagian ini.
Model embedding Gemini
Untuk membuat embedding untuk endpoint model gemini-embedding-001
yang terdaftar, jalankan pernyataan berikut:
SELECT
google_ml.embedding(
model_id => 'gemini-embedding-001',
content => 'AlloyDB is a managed, cloud-hosted SQL database service');
Jika cluster AlloyDB dan endpoint Vertex AI berada di project yang berbeda, tetapkan model_id
ke jalur yang memenuhi syarat untuk endpoint, misalnya, projects/PROJECT_ID/locations/REGION_ID/publishers/google/models/gemini-embedding-001
.
Untuk membuat embedding untuk endpoint model gemini-embedding-001
yang terdaftar, jalankan pernyataan berikut:
SELECT
google_ml.embedding(
model_id => 'gemini-embedding-001',
content => 'AlloyDB is a managed, cloud-hosted SQL database service');
Model embedding OpenAI
Untuk membuat embedding untuk endpoint model text-embedding-ada-002
terdaftar oleh OpenAI, jalankan pernyataan berikut:
SELECT
google_ml.embedding(
model_id => 'text-embedding-ada-002',
content => 'e-mail spam');
Untuk membuat embedding untuk endpoint model text-embedding-3-small
atau text-embedding-3-large
terdaftar oleh OpenAI, jalankan pernyataan berikut:
SELECT
google_ml.embedding(
model_id => 'text-embedding-3-small',
content => 'Vector embeddings in AI');
Langkah berikutnya
- Menjalankan penelusuran kemiripan vektor.
- Pelajari cara membuat asisten belanja pintar dengan AlloyDB, pgvector, dan pengelolaan endpoint model.
- Membuat indeks dan vektor kueri.
- Pelajari contoh alur kerja penyematan.