Halaman ini menunjukkan cara menginstal AlloyDB Omni dan mengintegrasikan AlloyDB AI.
AlloyDB AI adalah serangkaian fitur yang disertakan dengan AlloyDB Omni yang memungkinkan Anda membangun aplikasi AI generatif perusahaan. Untuk mengetahui informasi selengkapnya tentang fungsi AI/ML AlloyDB, lihat Membangun aplikasi AI generatif.
AlloyDB Omni dengan AlloyDB AI memungkinkan Anda membuat kueri model ML jarak jauh untuk bekerja dengan prediksi online dan penyematan teks yang dihasilkan dari model ML. AlloyDB Omni dengan AlloyDB AI juga dapat memproses penyematan vektor dari konten lain seperti gambar, misalnya, jika Anda menggunakan antarmuka google_ml.predict_row
dan melakukan terjemahan sendiri dalam kueri.
Berdasarkan tempat Anda ingin menginstal AlloyDB Omni dengan AlloyDB AI, pilih salah satu opsi berikut:
Mengonfigurasi instance AlloyDB Omni untuk membuat kueri model jarak jauh
Anda dapat membuat kueri model jarak jauh menggunakan pengelolaan endpoint model dengan mengaktifkan googleMLExtension
dalam manifes cluster database Anda.
Secara opsional, jika Anda ingin membuat kueri model Vertex AI, Anda harus mengonfigurasi akun layanan AlloyDB dengan Vertex AI, membuat secret Kubernetes menggunakan kunci, dan menetapkan secret Kubernetes dalam manifes cluster database.
Menambahkan izin Vertex AI ke akun layanan AlloyDB
Untuk mengonfigurasi AlloyDB Omni agar dapat membuat kueri model Vertex AI jarak jauh, ikuti langkah-langkah berikut:
Buat akun layanan dengan Google Cloud.
Buat kunci akun layanan dan simpan dalam format JSON ke file
private-key.json
, lalu download.Simpan kunci di lokasi permanen pada sistem file Anda. File ini berada di lokasi ini selama masa aktif server AlloyDB Omni Anda.
Catat lokasinya di sistem file Anda; Anda akan memerlukannya untuk langkah-langkah berikutnya.
Tambahkan izin Identity and Access Management (IAM) Vertex AI ke project dan akun layanan yang sesuai.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role="roles/aiplatform.user"
Ganti kode berikut:
PROJECT_ID
: ID Google Cloud project Anda.SERVICE_ACCOUNT_ID
: ID akun layanan yang Anda buat di langkah sebelumnya. Hal ini mencakup sufiks@PROJECT_ID.
lengkap—misalnya,my-service@my-project.
.
Buat secret Kubernetes menggunakan kunci akun layanan
Untuk membuat secret Kubernetes berdasarkan kunci akun layanan yang didownload pada langkah-langkah sebelumnya, jalankan perintah berikut:
kubectl create secret generic SECRET_NAME \ --from-file=PATH_TO_SERVICE_ACCOUNT_KEY/private-key.json \ -n NAMESPACE
Ganti kode berikut:
SECRET_NAME
: nama secret yang digunakan saat Anda membuat manifesDBCluster
untuk memungkinkan AlloyDB Omni mengakses fitur AlloyDB AI. Misalnya,vertex-ai-key-alloydb
.PATH_TO_SERVICE_ACCOUNT_KEY
: jalur ke lokasi tempat Anda mendownload kunci akun layananprivate-key.json
.NAMESPACE
: namespace cluster database.
Menginstal operator AlloyDB Omni
Instal operator AlloyDB Omni menggunakan langkah-langkah yang tercantum di Menginstal operator AlloyDB Omni.
Membuat cluster database dengan AI AlloyDB
Buat cluster database dengan AI AlloyDB.
Saat Anda menyetel
enabled
ketrue
di kolomgoogleMLExtension
, Anda dapat membuat kueri model jarak jauh. TetapkanvertexAIKeyRef
ke secret Kubernetes jika Anda ingin membuat kueri model Vertex AI.apiVersion: v1 kind: Secret metadata: name: db-pw-DB_CLUSTER_NAME type: Opaque data: DB_CLUSTER_NAME: "ENCODED_PASSWORD" --- apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME spec: databaseVersion: "16.8.0" primarySpec: adminUser: passwordRef: name: db-pw-DB_CLUSTER_NAME features: googleMLExtension: enabled: true config: vertexAIKeyRef: VERTEX_AI_SECRET_NAME vertexAIRegion: VERTEX_AI_REGION resources: cpu: CPU_COUNT memory: MEMORY_SIZE disks: - name: DataDisk size: DISK_SIZE storageClass: standard
Ganti kode berikut:
DB_CLUSTER_NAME
: nama cluster database ini—misalnya,my-db-cluster
.VERTEX_AI_SECRET_NAME
(Opsional): secret Vertex AI yang Anda buat pada langkah sebelumnya. Anda harus menyetel opsi ini jika Anda ingin memanggil model Vertex AI.VERTEX_AI_REGION
(Opsional): Endpoint regional Vertex AI yang ingin Anda gunakan untuk mengirim permintaan—misalnya,us-west4
. Nilai defaultnya adalahus-central1
.ENCODED_PASSWORD
: sandi login database untuk peran penggunapostgres
default, yang dienkode sebagai string base64—misalnya,Q2hhbmdlTWUxMjM=
untukChangeMe123
.CPU_COUNT
: jumlah CPU yang tersedia untuk setiap instance database dalam cluster database ini.MEMORY_SIZE
: jumlah memori per instance database dari cluster database ini. Sebaiknya tetapkan setelan ini ke 8 gigabyte per CPU. Misalnya, jika Anda menetapkancpu
ke2
sebelumnya dalam manifes ini, sebaiknya tetapkanmemory
ke16Gi
.DISK_SIZE
: ukuran disk per instance database—misalnya,10Gi
.
Terapkan manifes.
kubectl apply -f DB_CLUSTER_YAML
Ganti kode berikut:
DB_CLUSTER_YAML
: nama file manifes cluster database ini—misalnya,alloydb-omni-db-cluster.yaml
.
Menghubungkan menggunakan psql yang telah diinstal sebelumnya
Anda dapat membuat koneksi pengujian menggunakan klien psql
yang sudah diinstal di
pod yang menjalankan database.
Untuk melakukannya, jalankan perintah berikut:
export DBPOD=`kubectl get pod --selector=alloydbomni.internal.dbadmin.goog/dbcluster=DB_CLUSTER_NAME,alloydbomni.internal.dbadmin.goog/task-type=database -o jsonpath='{.items[0].metadata.name}'`
kubectl exec -ti $DBPOD -c database -- psql -h localhost -U postgres
Ganti DB_CLUSTER_NAME
dengan nama cluster
database Anda. Nama cluster database yang sama dengan yang Anda deklarasikan saat Anda membuatnya.
Setelah Anda memasukkan perintah, server database akan meminta sandi Anda.
Masukkan sandi yang versi berenkode base64-nya Anda berikan sebagai secret Kubernetes
saat membuat cluster database. Misalnya, jika Anda membuat
cluster database dengan secret Q2hhbmdlTWUxMjM=
, maka sandi login yang
digunakan di sini adalah ChangeMe123
.
Memverifikasi penginstalan AlloyDB Omni dengan AlloyDB AI
Untuk memverifikasi bahwa penginstalan Anda berhasil dan menggunakan prediksi model, masukkan perintah berikut:
CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;
SELECT array_dims(embedding('text-embedding-005', 'AlloyDB AI')::real[]);
Outputnya terlihat mirip dengan yang berikut ini:
array_dims
------------
[1:768]
(1 row)
Dalam kueri sebelumnya, panggilan embedding()
menghasilkan embedding untuk teks input AlloyDB AI
.
array_dims
menampilkan dimensi array yang ditampilkan oleh embedding()
.
Karena model text-embedding-005
menampilkan output dengan 768 dimensi, outputnya adalah [768]
.
Langkah berikutnya
- Menjalankan dan terhubung ke AlloyDB Omni
- Mengelola AlloyDB Omni
- Membangun aplikasi AI generatif menggunakan AlloyDB AI
- Mendaftarkan dan memanggil model AI jarak jauh