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 agar dapat 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.

Opsional: Tambahkan 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..

Opsional: Buat 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.

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