Menginstal AlloyDB AI di AlloyDB Omni

Halaman ini menunjukkan cara menginstal AlloyDB Omni dan mengintegrasikan AlloyDB AI di dalamnya.

AlloyDB AI adalah serangkaian fitur yang disertakan dengan AlloyDB Omni yang memungkinkan Anda mem-build aplikasi AI generatif perusahaan. Untuk mengetahui informasi selengkapnya tentang fungsi ML AlloyDB, lihat Mem-build aplikasi AI generatif.

AlloyDB Omni dengan AlloyDB AI memungkinkan Anda membuat kueri model ML jarak jauh untuk digunakan 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.

Secara opsional, jika 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 guna membuat kueri model Vertex AI jarak jauh, ikuti langkah-langkah berikut:

  1. Buat akun layanan dengan Google Cloud.

  2. Buat kunci akun layanan, simpan dalam format JSON ke file private-key.json, lalu download.

  3. 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 memerlukannya untuk langkah berikutnya.

  4. 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 project Google Cloud Anda.

    • SERVICE_ACCOUNT_ID: ID akun layanan yang Anda buat di langkah sebelumnya. Ini mencakup akhiran @PROJECT_ID. lengkap—misalnya, my-service@my-project..

Membuat secret Kubernetes menggunakan kunci akun layanan

Untuk membuat secret Kubernetes berdasarkan kunci akun layanan yang didownload pada 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 manifes DBCluster 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 layanan private-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 AlloyDB AI

  1. Membuat cluster database dengan AlloyDB AI.

    Jika Anda menetapkan enabled ke true di kolom googleMLExtension, Anda dapat membuat kueri model jarak jauh. Tetapkan vertexAIKeyRef 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: "15.7.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 di langkah sebelumnya. Anda harus menetapkan opsi ini jika ingin memanggil model Vertex AI.

    • VERTEX_AI_REGION (Opsional): endpoint regional Vertex AI tempat Anda ingin mengirim permintaan, misalnya, us-west4. Nilai defaultnya adalah us-central1.

    • ENCODED_PASSWORD: sandi login database untuk peran pengguna postgres default, yang dienkode sebagai string base64—misalnya, Q2hhbmdlTWUxMjM= untuk ChangeMe123.

    • 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 ke 8 gigabyte per CPU. Misalnya, jika Anda menetapkan cpu ke 2 sebelumnya dalam manifes ini, sebaiknya tetapkan memory ke 16Gi.

    • DISK_SIZE: ukuran disk per instance database—misalnya, 10Gi.

  2. 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. Ini adalah nama cluster database yang sama dengan yang Anda deklarasikan saat membuatnya.

Setelah Anda memasukkan perintah, server database akan meminta sandi. 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=, sandi login yang akan digunakan di sini adalah ChangeMe123.

Memverifikasi AlloyDB Omni dengan penginstalan AlloyDB AI

Untuk memverifikasi bahwa penginstalan Anda berhasil dan menggunakan prediksi model, masukkan kode 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 penyematan untuk teks input AlloyDB AI. array_dims menampilkan dimensi array yang ditampilkan oleh embedding(). Karena model text-embedding-005 menampilkan output dengan 768 dimensi, output-nya adalah [768].

Langkah selanjutnya