Ekstensi google_ml_integration menyertakan fungsi embedding dalam dua namespace yang berbeda; public dan google_ml. Halaman ini menjelaskan cara membuat embedding teks menggunakan fungsi dari namespace ini.
Fungsi embedding() dalam skema public dapat digunakan dengan model embedding Platform Agen Gemini Enterprise 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 embedding
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
itemsberisi kolom,complaints. KolomTEXTini menyimpan keluhan pembeli yang dicatat tentang setiap item.Database terintegrasi dengan Model Garden, sehingga memiliki akses ke model bahasa 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 pelanggan yang menerima warna produk yang salah, Anda dapat menjalankan kueri SQL biasa pada tabel, yang mencari berbagai kecocokan kata kunci. Namun, pendekatan ini hanya cocok dengan 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 semantik serupa untuk kueri tersebut. Dengan
menerapkan embedding, Anda dapat mengkueri tabel dalam contoh ini untuk item yang
keluhannya memiliki kesamaan semantik dengan prompt teks tertentu, seperti It was the
wrong color.
Untuk pembuatan embedding dasar, pilih salah satu skema berikut.
Sebelum memulai
Agar AlloyDB dapat membuat embedding, lakukan hal berikut:
- Hubungkan ke database Anda menggunakan
psqlatau AlloyDB for PostgreSQL Studio sebagai penggunapostgres. Pastikan ekstensi
google_ml_integrationtelah diinstal.Untuk memeriksa versi ekstensi Anda dengan perintah berikut:
SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration';Jika Anda perlu mengupdate ekstensi, gunakan perintah
ALTER EXTENSION google_ml_integration UPDATE;.Sebelum dapat membuat embedding dari database AlloyDB, Anda harus mengonfigurasi AlloyDB agar dapat digunakan dengan Platform Agen. Untuk mengetahui informasi selengkapnya, lihat Mengintegrasikan database Anda dengan Platform Agen.
Berikan izin kepada pengguna database untuk membuat embedding.
Untuk membuat embedding, berikan izin
EXECUTEpada fungsigoogle_ml.embeddingkepada pengguna:\c 'DB_NAME'; GRANT EXECUTE ON FUNCTION google_ml.embedding TO 'USER_NAME';Ganti kode berikut:
DB_NAME: nama database tempat izin diberikan.
USER_NAME: nama pengguna yang akan diberikan 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 embedding vektor.
Contoh pembuatan embedding
Beberapa contoh pembuatan embedding menggunakan endpoint model terdaftar tercantum di bagian ini.
Model embedding Gemini
Untuk membuat embedding untuk endpoint model gemini-embedding-001 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 Platform Agen Gemini Enterprise berada dalam project yang berbeda, ikuti langkah-langkah berikut:
Jalankan pernyataan
CALLberikut.CALL google_ml.create_model( model_id => 'gemini-embedding-001', model_request_url => 'https://REGION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION_ID/publishers/google/models/gemini-embedding-001:predict', model_provider => 'google', model_type => 'text_embedding', model_auth_type => 'alloydb_service_agent_iam', model_in_transform_fn => 'google_ml.vertexai_text_embedding_input_transform', model_out_transform_fn => 'google_ml.vertexai_text_embedding_output_transform' );Untuk membuat embedding untuk endpoint model
gemini-embedding-001terdaftar, 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 terdaftar text-embedding-ada-002oleh 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 cerdas dengan AlloyDB, pgvector, dan pengelolaan endpoint model.
- Membuat indeks dan mengkueri vektor.
- Pelajari contoh alur kerja embedding.