Puedes generar incorporaciones multimodales en AlloyDB para PostgreSQL con el modelo multimodal de la plataforma de agentes de Gemini Enterprise compatible, multimodalembedding@001.
Puedes usar los modelos de embedding multimodales de Agent Platform que se mencionan en Modelos compatibles.
En esta página, se supone que conoces AlloyDB para PostgreSQL y los conceptos de IA generativa. Para obtener más información, consulta ¿Qué son los embeddings?
Antes de comenzar
Antes de usar embeddings multimodales, haz lo siguiente:
- Verifica que la extensión
google_ml_integrationesté instalada. - Verifica que la marca
google_ml_integration.enable_model_supportesté establecida enon. - Integración con Agent Platform
- Accede a los datos en Cloud Storage para generar incorporaciones multimodales.
Integra Agent Platform y, luego, instala la extensión
- Configura el acceso de los usuarios a los modelos de Agent Platform.
- Verifica que esté instalada la versión más reciente de
google_ml_integration.Para verificar la versión instalada, ejecuta el siguiente comando:
SELECT extversion FROM pg_extension WHERE extname = 'google_ml_integration'; extversion ------------ 1.5.2 (1 row)
Si la extensión no está instalada o si la versión instalada es anterior a la 1.5.2, actualízala.
CREATE EXTENSION IF NOT EXISTS google_ml_integration; ALTER EXTENSION google_ml_integration UPDATE;
Si tienes problemas cuando ejecutas los comandos anteriores o si la extensión no se actualiza a la versión 1.5.2 después de ejecutar los comandos anteriores, comunícate con el Google Cloud equipo de asistencia.
Para usar la funcionalidad del motor de consultas de AlloyDB AI, establece la marca
google_ml_integration.enable_ai_query_engineenon.SQL
- Habilita el motor de consultas de IA para la sesión actual.
SET google_ml_integration.enable_ai_query_engine = on;
- Habilita funciones para una base de datos específica en todas las sesiones.
ALTER DATABASE DATABASE_NAME SET google_ml_integration.enable_ai_query_engine = 'on';
- Habilita el motor de consultas de IA para un usuario específico en todas las sesiones y bases de datos.
ALTER ROLE postgres SET google_ml_integration.enable_ai_query_engine = 'on';
Console
Para modificar el valor de la marca
google_ml_integration.enable_ai_query_engine, sigue los pasos que se indican en Configura las marcas de base de datos de una instancia.gcloud
Para usar gcloud CLI, puedes instalar y, luego, inicializar Google Cloud CLI, o bien usar Cloud Shell.
Puedes modificar el valor de la marca
google_ml_integration.enable_ai_query_engine. Para obtener más información, consulta Configura las marcas de base de datos de una instancia.gcloud alloydb instances update INSTANCE_ID \ --database-flags google_ml_integration.enable_ai_query_engine=on \ --region=REGION_ID \ --cluster=CLUSTER_ID \ --project=PROJECT_ID
- Habilita el motor de consultas de IA para la sesión actual.
Accede a los datos en Cloud Storage para generar incorporaciones multimodales
- Para generar incorporaciones multimodales, haz referencia al contenido de Cloud Storage con un URI
gs://. - Accede al contenido de Cloud Storage a través del agente de servicio de Agent Platform de tu proyecto actual. De forma predeterminada, el agente de servicio de Agent Platform ya tiene permiso para acceder al bucket en el mismo proyecto. Para obtener más información, consulta el Índice de roles y permisos de IAM.
Para acceder a los datos de un bucket de Cloud Storage en otro proyecto de Google Cloud , ejecuta el siguiente comando de la gcloud CLI para otorgar el rol de visualizador de objetos de Storage (
roles/storage.objectViewer) al agente de servicio de Agent Platform de tu proyecto de AlloyDB.gcloud projects add-iam-policy-binding <ANOTHER_PROJECT_ID> \ --member="serviceAccount:service-<PROJECT_ID>@gcp-sa-aiplatform.iam.gserviceaccount.com" \ --role="roles/storage.objectViewer"Para obtener más información, consulta Configura y administra políticas de IAM en buckets.
Para generar embeddings multimodales, selecciona uno de los siguientes esquemas.
Genera incorporaciones multimodales
Para generar embeddings de texto en un extremo del modelo multimodalembedding@001, ejecuta la siguiente instrucción:
SELECT
ai.text_embedding(
model_id => 'multimodalembedding@001',
content => 'TEXT');
Reemplaza TEXT por el texto para el que deseas generar la incorporación.
Para generar embeddings de imágenes en un extremo del modelo multimodalembedding@001 registrado en el que el tipo de MIME de la imagen es el valor predeterminado image/jpeg, ejecuta la siguiente instrucción:
SELECT
ai.image_embedding(
model_id => 'multimodalembedding@001',
image => 'IMAGE_PATH_OR_TEXT',
mimetype => MIMETYPE');
Reemplaza lo siguiente:
IMAGE_PATH_OR_TEXTcon el URI de Cloud Storage de la imagen, por ejemplo,gs://my-bucket/embeddings/flowers.jpeg, o la cadena base64 de la imagenMIMETYPEcon el tipo de MIME de la imagen, por ejemplo,image/jpeg. Para obtener la lista completa de tipos de MIME compatibles, consulta la API de Multimodal embeddings.
Para generar embeddings de video en un extremo del modelo multimodalembedding@001 registrado, ejecuta la siguiente instrucción:
SELECT
ai.video_embedding(
model_id => 'multimodalembedding@001',
video => 'VIDEO_URI');
Reemplaza VIDEO_URI por el URI de Cloud Storage del video objetivo, por ejemplo, gs://my-bucket/embeddings/supermarket-video.mp4, o la cadena en base64 del video.
Son arrays bidimensionales a los que se puede acceder con una sintaxis similar a my_array[0][5].
Para obtener más información, consulta Arrays.