En esta página, se muestra cómo instalar AlloyDB Omni y cómo integrar AlloyDB AI.
AlloyDB AI es un paquete de funciones incluidas en AlloyDB Omni que te permiten crear aplicaciones de IA generativa empresarial. Para obtener más información sobre la funcionalidad de IA/ML de AlloyDB, consulta Compila aplicaciones de IA generativa.
AlloyDB Omni con AlloyDB AI te permite consultar modelos de AA remotos para trabajar con predicciones en línea y embeddings de texto generados a partir de modelos de AA. AlloyDB Omni con AlloyDB AI también puede procesar embeddings de vectores de otro contenido, como una imagen, por ejemplo, si usas la interfaz de google_ml.predict_row
y realizas la traducción por tu cuenta en la búsqueda.
Según dónde quieras instalar AlloyDB Omni con AlloyDB AI, selecciona una de las siguientes opciones:
Configura tu instancia de AlloyDB Omni para consultar modelos remotos
Puedes consultar modelos remotos con la administración de extremos de modelos habilitando googleMLExtension
en el manifiesto de tu clúster de base de datos.
De manera opcional, si deseas consultar modelos de Vertex AI, debes configurar la cuenta de servicio de AlloyDB con Vertex AI, crear un secreto de Kubernetes con la clave y establecer el secreto de Kubernetes en el manifiesto del clúster de la base de datos.
Agrega los permisos de Vertex AI a la cuenta de servicio de AlloyDB
Para configurar AlloyDB Omni para consultar modelos remotos de Vertex AI, sigue estos pasos:
Crea una cuenta de servicio conGoogle Cloud.
Crea una clave de cuenta de servicio, guárdala en formato JSON en el archivo
private-key.json
y descárgala.Almacena la clave en una ubicación permanente en tu sistema de archivos. Se encuentra en esta ubicación durante la vida útil de tu servidor de AlloyDB Omni.
Toma nota de su ubicación en el sistema de archivos, ya que la necesitarás para los pasos posteriores.
Agrega permisos de Identity and Access Management (IAM) de Vertex AI al proyecto y a la cuenta de servicio correspondientes.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_ID" \ --role="roles/aiplatform.user"
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID de tu proyecto de Google Cloud .SERVICE_ACCOUNT_ID
: Es el ID de la cuenta de servicio que creaste en el paso anterior. Esto incluye el sufijo@PROJECT_ID.iam.gserviceaccount.com
completo, por ejemplo,my-service@my-project.iam.gserviceaccount.com
.
Crea un secreto de Kubernetes con la clave de la cuenta de servicio
Para crear un secreto de Kubernetes basado en la clave de la cuenta de servicio que descargaste en los pasos anteriores, ejecuta el siguiente comando:
kubectl create secret generic SECRET_NAME \ --from-file=PATH_TO_SERVICE_ACCOUNT_KEY/private-key.json \ -n NAMESPACE
Reemplaza lo siguiente:
SECRET_NAME
: Es el nombre del secreto que se usa cuando creas un manifiesto deDBCluster
para permitir que AlloyDB Omni acceda a las funciones de AlloyDB AI. Por ejemplo,vertex-ai-key-alloydb
.PATH_TO_SERVICE_ACCOUNT_KEY
: Es la ruta de acceso a la ubicación en la que descargaste la clave de la cuenta de servicio deprivate-key.json
.NAMESPACE
: Es el espacio de nombres del clúster de la base de datos.
Instala el operador de AlloyDB Omni
Instala el operador de AlloyDB Omni siguiendo los pasos que se indican en Instala el operador de AlloyDB Omni.
Crea un clúster de base de datos con AlloyDB AI
Crea un clúster de base de datos con AlloyDB AI.
Cuando configuras
enabled
comotrue
en el campogoogleMLExtension
, puedes consultar modelos remotos. EstablecevertexAIKeyRef
en el secreto de Kubernetes si deseas consultar modelos de 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
Reemplaza lo siguiente:
DB_CLUSTER_NAME
: El nombre de este clúster de base de datos, por ejemplo,my-db-cluster
.VERTEX_AI_SECRET_NAME
(opcional): Es el secreto de Vertex AI que creaste en los pasos anteriores. Debes establecer esta opción si deseas llamar a los modelos de Vertex AI.VERTEX_AI_REGION
(opcional): Es el extremo regional de Vertex AI al que deseas enviar tu solicitud, por ejemplo,us-west4
. El valor predeterminado esus-central1
.ENCODED_PASSWORD
: Es la contraseña de acceso a la base de datos para el rol de usuariopostgres
predeterminado, codificada como una cadena en base64 (por ejemplo,Q2hhbmdlTWUxMjM=
paraChangeMe123
).CPU_COUNT
: Es la cantidad de CPU disponibles para cada instancia de base de datos en este clúster de bases de datos.MEMORY_SIZE
: Es la cantidad de memoria por instancia de base de datos de este clúster de bases de datos. Te recomendamos que establezcas este valor en 8 gigabytes por CPU. Por ejemplo, si establecistecpu
en2
anteriormente en este manifiesto, te recomendamos que establezcasmemory
en16Gi
.DISK_SIZE
: Es el tamaño del disco por instancia de base de datos, por ejemplo,10Gi
.
Aplica el manifiesto.
kubectl apply -f DB_CLUSTER_YAML
Reemplaza lo siguiente:
DB_CLUSTER_YAML
: Es el nombre de este archivo de manifiesto del clúster de base de datos, por ejemplo,alloydb-omni-db-cluster.yaml
.
Conéctate con el cliente psql preinstalado
Puedes realizar una conexión de prueba con un cliente psql
ya instalado en el pod que ejecuta la base de datos.
Para ello, ejecuta los siguientes comandos:
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
Reemplaza DB_CLUSTER_NAME
por el nombre de tu clúster de base de datos. Es el mismo nombre del clúster de base de datos que declaraste cuando lo creaste.
Después de ingresar el comando, el servidor de base de datos te solicitará una contraseña.
Ingresa la contraseña cuya versión codificada en base64 proporcionaste como un secreto de Kubernetes cuando creaste el clúster de la base de datos. Por ejemplo, si creaste el clúster de base de datos con un secreto de Q2hhbmdlTWUxMjM=
, la contraseña de acceso que debes usar aquí es ChangeMe123
.
Verifica la instalación de AlloyDB Omni con AlloyDB AI
Para verificar que la instalación se realizó correctamente y que se usa la predicción del modelo, ingresa lo siguiente:
CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;
SELECT array_dims(embedding('text-embedding-005', 'AlloyDB AI')::real[]);
El resultado es similar al siguiente:
array_dims
------------
[1:768]
(1 row)
En la consulta anterior, la llamada a embedding()
genera incorporaciones para el texto de entrada AlloyDB AI
.
array_dims
devuelve las dimensiones del array que devuelve embedding()
.
Dado que el modelo text-embedding-005
devuelve un resultado con 768 dimensiones, el resultado es [768]
.
¿Qué sigue?
- Ejecuta AlloyDB Omni y conéctate a él
- Administra AlloyDB Omni
- Compila aplicaciones de IA generativa con AlloyDB AI
- Registra y llama a modelos de IA remotos