AlloyDB AI adalah rangkaian 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 menggunakan prediksi online dan embedding teks yang dihasilkan dari model ML. AlloyDB Omni dengan AlloyDB AI juga dapat memproses embedding vektor dari konten lain seperti gambar, misalnya, jika Anda menggunakan antarmuka google_ml.predict_row dan melakukan terjemahan sendiri dalam kueri.
Mengonfigurasi instance AlloyDB Omni untuk membuat kueri model jarak jauh
AlloyDB Omni dapat membuat kueri model ML jarak jauh menggunakan ekstensi google_ml_integration.
Secara opsional, jika Anda ingin membuat kueri model Vertex AI, Anda harus mengonfigurasi akun layanan AlloyDB Omni dengan Vertex AI sebelum menginstal AlloyDB Omni.
Untuk mengonfigurasi AlloyDB Omni agar dapat membuat kueri model jarak jauh, ikuti langkah-langkah berikut:
Buat akun layanan dengan Google Cloud.
Buat kunci akun layanan, dalam format JSON, lalu download. Catat kunci akun layanan karena Anda akan menggunakannya nanti dalam prosedur ini.
Salin kunci akun layanan yang Anda buat ke
KEY_PATH. Jalur kunci harus berupa jalur di host Anda yang dapat diakses, dan dimiliki, oleh pengguna yang akan menjalankan container AlloyDB Omni Anda.Aktifkan Vertex AI API di Google Cloud project Anda.
gcloud services enable aiplatform.googleapis.com
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 Anda Google Cloud .SERVICE_ACCOUNT_ID: ID akun layanan yang Anda buat pada langkah pertama. Hal ini mencakup akhiran@PROJECT_ID.iam.gserviceaccount.comlengkap. Misalnya,my-service@my-project.iam.gserviceaccount.com.
Mengonfigurasi AlloyDB AI untuk AlloyDB Omni
Untuk menginstal AlloyDB Omni dan mengintegrasikan AlloyDB AI, selesaikan langkah-langkah berikut sebagai pengguna root:
Selesaikan semua langkah yang tercantum di Mengonfigurasi AlloyDB Omni untuk membuat kueri model berbasis cloud.
Jika ada container yang ada dengan nama yang sama, hentikan dan hapus.
Docker
docker stop CONTAINER_NAMEdocker rm CONTAINER_NAMEDocker
docker stop CONTAINER_NAMEdocker rm CONTAINER_NAMEPodman
podman stop CONTAINER_NAMEpodman rm CONTAINER_NAMEPodman
podman stop CONTAINER_NAMEpodman rm CONTAINER_NAMEGanti kode berikut:
CONTAINER_NAME: Nama untuk menetapkan container AlloyDB Omni di registry container mesin host Anda. Misalnya,my-omni-1.
Mulai container AlloyDB Omni baru yang meng-mount kunci ke dalam container.
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -v "KEY_PATH":/etc/postgresql/private-key.json \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
Docker
docker run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -v "KEY_PATH":/etc/postgresql/private-key.json \ -p HOST_PORT:5432 \ --restart=always \ google/alloydbomni:latest
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -v "KEY_PATH":/etc/postgresql/private-key.json \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest
Podman
podman run -d --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ -v DATA_DIR:/var/lib/postgresql/data \ -v "KEY_PATH":/etc/postgresql/private-key.json \ -p HOST_PORT:5432 \ --restart=always \ docker.io/google/alloydbomni:latest
Ganti variabel berikut:
CONTAINER_NAME: Nama untuk menetapkan container AlloyDB Omni di registry container mesin host Anda. Misalnya,my-omni-1.NEW_PASSWORD: Sandi yang ditetapkan ke penggunapostgrescontainer baru setelah pembuatannya. Perhatikan bahwaNEW_PASSWORDhanya akan menetapkan sandi baru jikaDATA_DIRadalah lokasi baru.DATA_DIR: Jalur direktori host tempat data Anda disimpan.KEY_PATH: Jalur untuk file kunci akun layanan Anda.HOST_PORT: Port TCP di mesin host tempat container harus memublikasikan port5432miliknya. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan5432.
Buat file kunci dapat dibaca oleh pengguna
postgresdi dalam container AlloyDB Omni.Docker
docker exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.jsondocker exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.jsonDocker
docker exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.jsondocker exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.jsonPodman
podman exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.jsonpodman exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.jsonPodman
podman exec CONTAINER_NAME chown postgres /etc/postgresql/private-key.jsonpodman exec CONTAINER_NAME chmod 600 /etc/postgresql/private-key.jsonGanti variabel berikut:
CONTAINER_NAME: Nama untuk menetapkan container AlloyDB Omni di registry container mesin host Anda. Misalnya,my-omni-1.KEY_PATH: Jalur host untuk file kunci akun layanan Anda.
Perbarui AlloyDB Omni dengan menambahkan opsi konfigurasi berikut.
Docker
docker exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf omni_enable_ml_agent_process = 'on' omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json' EOF"
Docker
docker exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf omni_enable_ml_agent_process = 'on' omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json' EOF"
Podman
podman exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf omni_enable_ml_agent_process = 'on' omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json' EOF"
Podman
podman exec CONTAINER_NAME sh -c "cat << EOF >> /var/lib/postgresql/data/postgresql.conf omni_enable_ml_agent_process = 'on' omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json' EOF"
Ganti variabel berikut:
CONTAINER_NAME: Nama untuk menetapkan container AlloyDB Omni di registry container mesin host Anda. Misalnya,my-omni-1.
Mulai ulang container AlloyDB Omni.
Docker
docker restart CONTAINER_NAME
Docker
docker restart CONTAINER_NAME
Podman
podman restart CONTAINER_NAME
Podman
podman restart CONTAINER_NAME
Ganti variabel berikut:
CONTAINER_NAME: Nama untuk menetapkan container AlloyDB Omni di registry container mesin host Anda. Misalnya,my-omni-1.
Menghubungkan menggunakan psql dalam container
Untuk terhubung ke server database AlloyDB Omni menggunakan salinan psql dalam container miliknya, jalankan perintah berikut:
Docker
docker exec -it CONTAINER_NAME psql -U postgres
Docker
docker exec -it CONTAINER_NAME psql -U postgres
Podman
podman exec -it CONTAINER_NAME psql -U postgres
Podman
podman exec -it CONTAINER_NAME psql -U postgres
Ganti variabel berikut:
CONTAINER_NAME: Nama untuk menetapkan container AlloyDB Omni di registry container mesin host Anda. Misalnya,my-omni-1.
Memverifikasi penginstalan AlloyDB Omni dengan AlloyDB AI
Untuk memverifikasi bahwa penginstalan Anda berhasil dan menggunakan prediksi model, masukkan hal berikut:
CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;
SELECT array_dims(embedding('text-embedding-005', 'AlloyDB AI')::real[]);
Outputnya akan terlihat mirip seperti berikut:
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 menghubungkan ke AlloyDB Omni
- Mengelola AlloyDB Omni
- Membangun aplikasi AI generatif menggunakan AlloyDB AI
- Mendaftarkan dan memanggil model AI jarak jauh