Anda dapat menghubungkan instance AlloyDB ke Gemini Enterprise, sehingga memungkinkan akses langsung ke data Anda.
Dibandingkan dengan mengimpor dari AlloyDB, menghubungkan memiliki keuntungan berikut:
- Tidak perlu mengimpor, mengindeks, dan menduplikasi data.
- Keaktualan data maksimal.
- Tidak ada biaya pengindeksan dan penyimpanan tambahan.
- Tidak perlu meratakan data terstruktur menjadi rekaman seragam.
Pertimbangkan kerugian berikut dari menghubungkan dibandingkan dengan mengimpor:
- Pendekatan ini hanya mendukung kueri terstruktur, bukan kueri semantik atau semi-semantik.
- Penyiapannya sedikit lebih rumit dibandingkan dengan mengimpor data.
Batasan
Menghubungkan ke AlloyDB memiliki batasan berikut:
- Gemini Enterprise mendukung kontrol akses di tingkat objek database, seperti tabel dan kolom, tetapi tidak di tingkat per pengguna. Semua pengguna yang memiliki akses ke aplikasi Gemini Enterprise Anda dapat melihat data yang sama.
- Pembuatan penyimpanan data AlloyDB didukung melalui API, bukan melalui Google Cloud konsol.
Sebelum memulai
Koneksi ke AlloyDB dalam Pratinjau dengan daftar yang diizinkan. Untuk menggunakan fitur ini, daftar dengan formulir berikut: Memilih ikut serta/Tidak ikut serta untuk menggunakan Gemini Enterprise dan terhubung ke data dari AlloyDB
Setelah mendaftar, tunggu hingga Anda menerima konfirmasi pengaktifan sebelum mengikuti petunjuk di halaman ini.
Menyiapkan bahasa alami AlloyDB AI
Konektor ini mengandalkan natural language AI AlloyDB di AlloyDB, yang menerjemahkan kueri bahasa alami menjadi kueri SQL.
Sebelum terhubung, siapkan natural language AlloyDB AI di database Anda menggunakan langkah-langkah dalam Membuat kueri SQL yang menjawab pertanyaan dalam bahasa alami di dokumentasi AlloyDB.
Perhatikan bahwa menambahkan template dalam natural language AlloyDB AI (sekumpulan pertanyaan natural language yang telah dikurasi dengan kueri SQL yang sesuai) sangat berguna untuk kualitas. Saat menambahkan template, Google merekomendasikan hal-hal berikut:
Gunakan
ORDER BY
untuk menghindari non-determinisme. Contoh:SELECT customers.id FROM customers ORDER BY customers.id;
.
Menyiapkan autentikasi antara Gemini Enterprise dan AlloyDB
Gemini Enterprise mengakses AlloyDB menggunakan akun layanan khusus dan pengguna database di instance AlloyDB Anda. Dengan pendekatan ini, setiap pengguna Gemini Enterprise dapat melihat data yang sama, tanpa kontrol akses khusus pengguna.
Akun layanan digunakan untuk terhubung dan berinteraksi dengan instance AlloyDB Anda. Untuk mengaktifkannya, Anda perlu mengonfigurasi setelan Identity and Access Management (IAM) di project Google Cloud tempat instance database Anda berada.
Untuk menyiapkan autentikasi, lakukan hal berikut:
- Buka halaman konfigurasi IAM project yang menghosting instance AlloyDB Anda.
Berikan peran Pengguna Database Cloud AlloyDB kepada principal berikut:
service-PROJECT_NUMBER@gcp-sa-discoveryengine.
Ganti
PROJECT_NUMBER
dengan Google Cloud nomor project tempat Anda menggunakan Gemini Enterprise.Di instance AlloyDB Anda, buat pengguna DB yang akan digunakan oleh Gemini Enterprise untuk menjalankan kueri SQL.
Anda harus memberikan akses hanya baca kepada pengguna ini dan hanya untuk tabel, tampilan, dan kolom yang harus dapat diakses dari Gemini Enterprise. Hal ini memastikan bahwa:
Kueri dari Gemini Enterprise tidak dapat mengubah atau menghapus data Anda. Gemini Enterprise dirancang hanya untuk membaca data dari database Anda dan tidak mengubah apa pun, tetapi Google tidak dapat sepenuhnya mengecualikan kemungkinan bahwa AI dapat membuat kueri tulis yang tidak diinginkan.
Pengguna di Gemini Enterprise hanya dapat melihat data yang seharusnya mereka lihat.
Contoh:
CREATE ROLE USER_NAME WITH LOGIN PASSWORD 'PASSWORD'; GRANT SELECT ON TABLE "public"."TABLE_NAME_1" TO USER_NAME; GRANT SELECT ON TABLE "public"."TABLE_NAME_2" TO USER_NAME;
Saat menautkan Gemini Enterprise dengan AlloyDB, berikan nama pengguna dan sandi di kolom Pengguna dan Sandi di
alloydbConnectionConfig
.
Menautkan Gemini Enterprise dengan AlloyDB
Untuk menghubungkan instance AlloyDB Anda, ikuti langkah-langkah berikut:
Buat penyimpanan data di Gemini Enterprise dengan detail koneksi AlloyDB Anda menggunakan API, termasuk
federatedSearchConfig.alloyDbConfig
.Contoh berikut:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" -d '{ "displayName": "DATA_STORE_NAME", "federatedSearchConfig": { "alloyDbConfig": { "alloydbConnectionConfig": { "instance": "INSTANCE_PATH", "database": "DATABASE_NAME", "user": "DATABASE_USER_NAME", "password": "DATABASE_USER_PASSWORD", "authMode": "AUTH_MODE_SERVICE_ACCOUNT" }, "alloydb_ai_nl_config": { "nlConfigId": "NL_CONFIG_ID" } } }, "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"] }'
Ganti kode berikut:
PROJECT_ID
: ID project tempat Anda menggunakan Gemini Enterprise.LOCATION
: Lokasi penyimpanan data Anda. Lokasi ini harus sama dengan lokasi instance Gemini Enterprise Anda.DATA_STORE_ID
: ID penyimpanan data yang ingin Anda buat. ID ini hanya boleh berisi huruf kecil, angka, garis bawah, dan tanda hubung.DATA_STORE_NAME
: nama tampilan penyimpanan data yang ingin Anda buat.INSTANCE_PATH
: Jalur instance AlloyDB Anda, dalam formatprojects/.../locations/.../clusters/.../instances/...
.DATABASE_NAME
: ID database AlloyDB.DATABASE_USER_NAME
: ID pengguna database AlloyDB.DATABASE_USER_PASSWORD
: sandi pengguna database AlloyDB.NL_CONFIG_ID
: ID konfigurasi bahasa alami AlloyDB AI.
Lampirkan penyimpanan data Anda ke aplikasi Gemini Enterprise yang ada, atau buat aplikasi baru dan pilih konektor Anda, dengan mengikuti langkah-langkah di Membuat aplikasi.
Untuk melihat pratinjau tampilan hasil penelusuran setelah aplikasi Anda disiapkan, lihat Melihat pratinjau hasil penelusuran.