Infraestructura para una aplicación de IA generativa compatible con RAG mediante Vertex AI

Last reviewed 2024-06-07 UTC

En este documento, se proporciona una arquitectura de referencia que puedes usar para diseñar la infraestructura para ejecutar una aplicación de inteligencia artificial (IA) generativa con generación mejorada por recuperación (RAG). El público previsto para este documento incluye desarrolladores y administradores de aplicaciones de IA generativa y arquitectos de nube. En el documento, se supone que tienes conocimientos básicos sobre IA, aprendizaje automático (AA) y conceptos del modelo grande de lenguaje (LLM). En este documento, no se proporciona guía sobre cómo diseñar y desarrollar una aplicación de IA generativa.

Arquitectura

En el siguiente diagrama, se muestra una vista de alto nivel de una arquitectura para una aplicación de IA generativa compatible con RAG en Google Cloud:

Una arquitectura de alto nivel para una aplicación de IA generativa compatible con RAG en Google Cloud.

La arquitectura contiene los siguientes componentes interconectados:

Componente Objetivo Interacciones
Subsistema de transferencia de datos Prepara y procesa los datos externos que se usan para habilitar la capacidad RAG. El subsistema de transferencia de datos interactúa con los otros subsistemas en la arquitectura a través de la capa de la base de datos.
Subsistema de entrega Maneja el flujo de solicitud y respuesta entre la aplicación de IA generativa y sus usuarios. El subsistema de entrega interactúa con el subsistema de transferencia de datos a través de la capa de la base de datos.
Subsistema de evaluación de calidad Evalúa la calidad de las respuestas que genera el subsistema de entrega. El subsistema de evaluación de calidad interactúa directamente con el subsistema de entrega y con el subsistema de transferencia de datos a través de la capa de la base de datos.
Bases de datos Almacena los siguientes datos:
  • Mensajes
  • Incorporaciones vectorizadas de los datos usados para RAG
  • Configuración de los trabajos sin servidores en los subsistemas de transferencia de datos y evaluación de calidad
Todos los subsistemas de la arquitectura interactúan con las bases de datos.

En el siguiente diagrama, se muestra una vista detallada de la arquitectura:

Una arquitectura detallada para una aplicación de IA generativa compatible con RAG en Google Cloud.

En las siguientes secciones, se proporcionan descripciones detalladas de los componentes y el flujo de datos dentro de cada subsistema de la arquitectura.

Subsistema de transferencia de datos

El subsistema de transferencia de datos transfiere datos de fuentes externas, como archivos, bases de datos y servicios de transmisión. Los datos subidos incluyen solicitudes para la evaluación de calidad. El subsistema de transferencia de datos proporciona la capacidad RAG en la arquitectura. En el siguiente diagrama, se muestran los detalles del subsistema de transferencia de datos en la arquitectura:

El subsistema de transferencia de datos para una aplicación de IA generativa compatible con RAG en Google Cloud.

Los siguientes son los pasos en el flujo de transferencia de datos:

  1. Los datos se suben a un bucket de Cloud Storage. La fuente de datos puede ser un usuario de una aplicación que realiza una carga, una transferencia de base de datos o una transmisión de datos.
  2. Cuando se suben datos, se envía una notificación a un tema de Pub/Sub.
  3. Pub/Sub activa un trabajo de Cloud Run para procesar los datos subidos.
  4. Cloud Run inicia el trabajo con datos de configuración que se almacenan en una base de datos de AlloyDB para PostgreSQL.
  5. El trabajo de Cloud Run usa Document AI para preparar los datos para su posterior procesamiento. Por ejemplo, la preparación puede incluir el análisis de los datos, su conversión al formato requerido y la división en fragmentos.
  6. El trabajo de Cloud Run usa el modelo de incorporaciones de Vertex AI para texto para crear incorporaciones vectorizadas de los datos transferidos.

  7. Cloud Run almacena las incorporaciones en una base de datos de AlloyDB para PostgreSQL que tiene la extensión pgvector habilitada. Como se describe en la siguiente sección, cuando el subsistema de entrega procesa solicitudes de usuarios, usa las incorporaciones en la base de datos vectorial para recuperar datos específicos del dominio relevantes.

Subsistema de entrega

El subsistema de entrega controla el flujo de solicitud y respuesta entre la aplicación de IA generativa y sus usuarios. En el siguiente diagrama, se muestran los detalles del subsistema de entrega en la arquitectura:

El subsistema de entrega para una aplicación de IA generativa compatible con RAG en Google Cloud.

Los siguientes son los pasos en el flujo de solicitud-respuesta en el subsistema de entrega:

  1. Los usuarios envían solicitudes a la aplicación de IA generativa a través de un frontend (por ejemplo, un chatbot o una app para dispositivos móviles).
  2. La aplicación de IA generativa convierte la solicitud de lenguaje natural en incorporaciones.

  3. La aplicación completa la parte de recuperación del enfoque RAG:

    1. La aplicación realiza una búsqueda semántica para la incorporación en el almacén de vectores de AlloyDB para PostgreSQL que mantiene el subsistema de transferencia de datos. La búsqueda semántica ayuda a encontrar incorporaciones basadas en la intención de una instrucción en lugar de su contenido textual.
    2. La aplicación combina la solicitud original con los datos sin procesar que se recuperan en función de la incorporación coincidente para crear una instrucción contextualizada.
  4. La aplicación envía la instrucción contextualizada a una pila de inferencia de LLM que se ejecuta en Vertex AI.

  5. La pila de inferencia de LLM usa un LLM de IA generativa, que puede ser un LLM de base o uno personalizado, y genera una respuesta limitada al contexto proporcionado.

    1. La aplicación puede almacenar registros de la actividad de solicitud y respuesta en Cloud Logging. Puedes ver y usar los registros para la supervisión mediante Cloud Monitoring. Google no accede a los datos de registro ni los usa.
    2. La aplicación carga las respuestas a BigQuery para las estadísticas sin conexión.
  6. La aplicación analiza las respuestas mediante filtros de IA responsables.

  7. La aplicación envía las respuestas filtradas a los usuarios a través del frontend.

Subsistema de evaluación de calidad

En el siguiente diagrama, se muestran los detalles del subsistema de evaluación de calidad en la arquitectura:

El subsistema de evaluación de calidad para una aplicación de IA generativa compatible con RAG en Google Cloud.

Cuando el subsistema de evaluación de calidad recibe una solicitud, realiza lo siguiente:

  1. Pub/Sub activa un trabajo de Cloud Run.
  2. Cloud Run inicia el trabajo con datos de configuración que se almacenan en una base de datos de AlloyDB para PostgreSQL.
  3. El trabajo de Cloud Run extrae mensajes de evaluación de una base de datos de AlloyDB para PostgreSQL. El subsistema de transferencia de datos subió los mensajes antes a la base de datos.
  4. El trabajo de Cloud Run usa los mensajes de evaluación para evaluar la calidad de las respuestas que genera el subsistema de entrega.

    El resultado de esta evaluación consiste en las puntuaciones de evaluación para las métricas como la exactitud y la relevancia fácticas.

  5. Cloud Run carga las puntuaciones de evaluación y los mensajes y las respuestas que se evaluaron en BigQuery para su análisis futuro.

Productos usados

El siguiente es un resumen de todos los productos de Google Cloud que usa la arquitectura anterior:

  • Vertex AI: Es una plataforma de AA que te permite entrenar y, también, implementar modelos de AA y aplicaciones de IA, y personalizar LLM para usarlos en aplicaciones impulsadas por IA.
  • Cloud Run es una plataforma de procesamiento administrada que te permite ejecutar contenedores directamente sobre la infraestructura escalable de Google.
  • BigQuery: Un almacén de datos empresarial que te ayuda a administrar y analizar tus datos con funciones integradas como el análisis geoespacial de aprendizaje automático y la inteligencia empresarial.
  • Cloud Storage: Un depósito de objetos de bajo costo y sin límites para varios tipos de datos. Se puede acceder a los datos desde y hacia Google Cloud, y estos se replican en las ubicaciones para aumentar la redundancia.
  • AlloyDB para PostgreSQL: Un servicio de base de datos completamente administrado, compatible con PostgreSQL, que está diseñado para cargas de trabajo exigentes, incluido el procesamiento híbrido transaccional y analítico.
  • Document AI: Una plataforma de procesamiento de documentos que toma datos no estructurados de documentos y los transforma en datos estructurados.
  • Pub/Sub: Un servicio de mensajería asíncrona y escalable que separa los servicios que producen mensajes de servicios que procesan esos mensajes.
  • Cloud Logging: Un sistema de administración de registros en tiempo real con almacenamiento, búsqueda, análisis y alertas.
  • Cloud Monitoring: Un servicio que proporciona visibilidad del rendimiento, la disponibilidad y el estado de la infraestructura y las aplicaciones.

Casos de uso

RAG es una técnica eficaz para mejorar la calidad del resultado que se genera a partir de un LLM. En esta sección, se proporcionan ejemplos de casos de uso para los que puedes usar aplicaciones de IA generativa compatibles con RAG.

Recomendaciones personalizadas de productos

Un sitio de compras en línea puede usar un chatbot con tecnología de LLM para ayudar a los clientes a encontrar productos o a obtener ayuda relacionada con las compras. Las preguntas de un usuario se pueden aumentar mediante el uso de datos históricos sobre el comportamiento de compra del usuario y los patrones de interacción con el sitio web. Los datos pueden incluir opiniones y comentarios de los usuarios que se almacenan en un almacén de datos no estructurado o métricas relacionadas con la búsqueda que se almacenan en un almacén de datos de estadísticas web. Luego, el LLM puede procesar la pregunta aumentada para generar respuestas personalizadas que el usuario podría considerar más interesantes y atractivas.

Sistemas de asistencia clínica

Los médicos en hospitales deben analizar y diagnosticar con rapidez el estado de la salud de un paciente para tomar decisiones sobre la atención y los medicamentos adecuados. Se puede usar una aplicación de IA generativa que use un LLM médico como Med-PaLM para ayudar a los médicos en su proceso de diagnóstico clínico. Las respuestas que genera la aplicación se pueden basar en registros históricos de pacientes mediante la contextualización de las instrucciones de los médicos con datos de la base de datos del historial clínico electrónico (HCE) del hospital o de una base de conocimiento externa, como PubMed.

La investigación legal impulsada por IA generativa permite a los abogados consultar con rapidez grandes volúmenes de leyes y jurisprudencia para identificar precedentes legales relevantes o resumir conceptos legales complejos. El resultado de esa investigación se puede mejorar mediante la mejora de las indicaciones de un abogado con datos que se recuperan del corpus propio de contratos, comunicaciones jurídicas previas y registros de casos internos. Este enfoque de diseño garantiza que las respuestas generadas sean relevantes para el dominio legal en el que se especializa el abogado.

Alternativa de diseño

Para el almacén de vectores y los componentes de búsqueda semántica en la arquitectura, puedes usar Vertex AI Vector Search. Vector Search es un servicio completamente administrado que proporciona una infraestructura de entrega optimizada para la búsqueda vectorial a gran escala. Los datos sin procesar (fragmentos de texto) se pueden almacenar en almacenes de objetos como Cloud Storage o en almacenes de clave-valor como Filestore. En cualquier caso, la representación vectorial de cada fragmento de texto sin procesar se almacena en Vector Search.

Cuando se transfieren los datos, se asigna un ID único a cada fragmento de texto sin procesar, y este ID se usa como el nombre del archivo del objeto en Cloud Storage. Se usa el mismo ID que el ID de vector en Vector Search.

En el momento de la deriva, una consulta de texto entrante se convierte en un vector de incorporación. Vector Search realiza una búsqueda de similitudes para mostrar los vectores más similares en términos semánticos. Luego, los ID vectoriales se usan para buscar los fragmentos de texto originales. En conjunto, estos fragmentos de texto proporcionan el contexto relevante que el LLM necesita para completar una tarea determinada.

Si quieres obtener información para crear, implementar y consultar un índice de búsqueda de vectores, consulta la guía de inicio rápido de Vector Search.

Consideraciones del diseño

En esta sección, se proporciona orientación para ayudarte a desarrollar una arquitectura de IA generativa compatible con RAG en Google Cloud que cumpla con tus requisitos específicos de seguridad y cumplimiento, confiabilidad, costo y rendimiento. La guía de esta sección no está completa. Según los requisitos específicos de tu aplicación de IA generativa y los productos y las funciones de Google Cloud que usas, es posible que debas considerar factores de diseño y compensaciones adicionales.

Seguridad y cumplimiento

En esta sección, se describen los factores que debes tener en cuenta cuando diseñas y compilas una aplicación de IA generativa compatible con RAG en Google Cloud que cumpla con tus requisitos de seguridad y cumplimiento.

Producto Consideraciones del diseño
Vertex AI Vertex AI es compatible con los controles de seguridad de Google Cloud que puedes usar para cumplir con tus requisitos de residencia de datos, encriptación de datos, seguridad de red y transparencia de acceso. Si deseas obtener más información, consulta Controles de seguridad para Vertex AI y Controles de seguridad para Generative AI.
Cloud Run

De forma predeterminada, Cloud Run encripta los datos mediante una clave que es propiedad de Google y está administrada por Google. Para proteger tus contenedores mediante una clave que controlas, puedes usar claves de encriptación administradas por el cliente (CMEK). Para obtener más información, consulta la página sobre Usa claves de encriptación administradas por el cliente.

Para garantizar que solo se implementen imágenes de contenedor autorizadas en los trabajos de Cloud Run, puedes usar la autorización binaria.

Cloud Run te ayuda a cumplir con los requisitos de residencia de datos. Las instancias de contenedor de Cloud Run se ejecutan dentro de la región que seleccionaste.

AlloyDB para PostgreSQL

De forma predeterminada, los datos que se almacenan en AlloyDB para PostgreSQL se encriptan con claves que son propiedad de Google y están administradas por Google. Si necesitas usar claves de encriptación que controlas y administras, puedes usar CMEK. Para obtener más información, consulta Acerca de CMEK.

Para mitigar el riesgo de robo de datos de las bases de datos de AlloyDB para PostgreSQL, puedes crear un perímetro de servicio mediante los Controles del servicio de VPC.

De forma predeterminada, una instancia de AlloyDB para PostgreSQL solo acepta conexiones que usan SSL. Para proteger aún más las conexiones a tus bases de datos de AlloyDB para PostgreSQL, puedes usar el conector del proxy de autenticación de AlloyDB para PostgreSQL. El conector de proxy de autenticación proporciona autorización de conexión basada en Identity and Access Management (IAM) y usa una conexión TLS 1.3 con un algoritmo de cifrado AES de 256 bits para verificar las identidades del cliente y del servidor y encriptar el tráfico de datos. Para obtener más información, consulta Acerca del proxy de autenticación de AlloyDB para PostgreSQL. Para las conexiones creadas con Java, Python o Go, usa el conector de lenguaje adecuado en lugar del conector del proxy de autenticación.

AlloyDB para PostgreSQL te ayuda a cumplir con los requisitos de residencia de datos. Los datos se almacenan o replican dentro de las regiones que especifiques.

BigQuery

BigQuery proporciona muchas funciones que puedes usar para controlar el acceso a los datos, proteger los datos sensibles y garantizar la exactitud y coherencia de los datos. Para obtener más información, consulta Introducción a la administración de datos en BigQuery.

BigQuery te ayuda a cumplir con los requisitos de residencia de datos. Los datos se almacenan dentro de la región que especifiques.

Cloud Storage

De forma predeterminada, los datos que se almacenan en Cloud Storage se encriptan con claves que son propiedad de Google y están administradas por Google. Si es necesario, puedes usar CMEK o tus propias claves que administres mediante un método de administración externo, como las claves de encriptación proporcionadas por el cliente (CSEK). Para obtener más información, consulta Opciones de encriptación de datos.

Cloud Storage admite dos sistemas para otorgar permiso a los usuarios para acceder a tus buckets y objetos: IAM y las listas de control de acceso (LCA). En la mayoría de los casos, recomendamos usar IAM, que te permite otorgar permisos a nivel de proyecto y de bucket. Para obtener más información, consulta Descripción general del control de acceso.

Los datos que cargas en el subsistema de transferencia de datos a través de Cloud Storage pueden incluir datos sensibles. Para proteger estos datos, puedes usar la Protección de datos sensibles para descubrir, clasificar y desidentificar los datos. Para obtener más información, consulta Usa la protección de datos sensibles con Cloud Storage.

Cloud Storage te ayuda a cumplir con los requisitos de residencia de datos. Los datos se almacenan o replican dentro de las regiones que especifiques.

Pub/Sub

De forma predeterminada, Pub/Sub encripta todos los mensajes, tanto en reposo como en tránsito, mediante claves que son propiedad de Google y están administradas por Google. Pub/Sub admite el uso de CMEK para la encriptación de mensajes en la capa de aplicación. Para obtener más información, consulta Configura la encriptación de mensajes.

Si tienes requisitos de residencia de datos, para asegurarte de que los datos de los mensajes se almacenen en ubicaciones específicas, puedes configurar políticas de almacenamiento de mensajes.

Document AI De forma predeterminada, los datos en reposo se encriptan mediante claves de encriptación administradas por Google. Si necesitas usar claves de encriptación que controlas y administras, puedes usar CMEK. Para obtener más información, consulta Seguridad y cumplimiento de Document AI.
Cloud Logging

Los registros de auditoría de actividad del administrador están habilitados de forma predeterminada para todos los servicios de Google Cloud que se usan en esta arquitectura de referencia. En estos registros, se asientan las llamadas a la API y otras acciones que modifican la configuración o los metadatos de los recursos de Google Cloud.

Los registros de auditoría de acceso a los datos están habilitados de forma predeterminada para BigQuery. Para los otros servicios que se usan en esta arquitectura, puedes habilitar los registros de auditoría de acceso a datos. Los registros te permiten realizar un seguimiento de las llamadas a la API que leen la configuración o los metadatos de los recursos o las solicitudes del usuario para crear, modificar o leer datos de los recursos que proporciona el usuario.

Para cumplir con los requisitos de residencia de datos, puedes configurar Cloud Logging para almacenar datos de registro en la región que especifiques. Para obtener más información, consulta Regionaliza los registros.

Para obtener orientación general sobre los principios de seguridad que debes tener en cuenta para las aplicaciones de IA, consulta Introducción a Secure AI Framework de Google.

Confiabilidad

En esta sección, se describen los factores de diseño que debes tener en cuenta para compilar y operar una infraestructura confiable para una aplicación de IA generativa compatible con RAG en Google Cloud.

Producto Consideraciones del diseño
Cloud Run

Cloud Run es un servicio regional. Los datos se almacenan de forma síncrona en varias zonas dentro de una región. Las cargas del tráfico se balancean automáticamente entre las zonas. Si se produce una interrupción zonal, los trabajos de Cloud Run continuarán ejecutándose y los datos no se pierden. Si se produce una interrupción regional, los trabajos de Cloud Run dejan de ejecutarse hasta que Google resuelva la interrupción.

Los trabajos o las tareas individuales de Cloud Run pueden fallar. Para manejar estas fallas, puedes usar reintentos de tareas y puntos de control. Para obtener más información, consulta Prácticas recomendadas para los reintentos de trabajos y puntos de control.

AlloyDB para PostgreSQL

De forma predeterminada, los clústeres de AlloyDB para PostgreSQL proporcionan alta disponibilidad (HA) con conmutación por error automática. La instancia principal tiene nodos redundantes que se encuentran en dos zonas diferentes dentro de una región. Esta redundancia garantiza que los clústeres sean sólidos contra las interrupciones zonales.

Para planificar la recuperación ante interrupciones regionales, puedes usar la replicación entre regiones.

BigQuery

Los datos que cargas en BigQuery se almacenan de forma síncrona en dos zonas dentro de la región que especifiques. Esta redundancia ayuda a garantizar que tus datos no se pierdan cuando se produce una interrupción zonal.

Para obtener más información sobre las funciones de confiabilidad en BigQuery, consulta Comprende la confiabilidad.

Cloud Storage Puedes crear buckets de Cloud Storage en uno de los tres tipos de ubicación: regional, birregional o multirregión. Los datos almacenados en buckets regionales se replican de forma síncrona en varias zonas dentro de una región. Para obtener una mayor disponibilidad, puedes usar buckets birregionales o multirregionales, en los que los datos se replican de manera asíncrona en todas las regiones.
Pub/Sub

Para administrar los aumentos transitorios en el tráfico de mensajes, puedes configurar el control de flujo en la configuración del publicador.

Para controlar las publicaciones con errores, ajusta las variables de solicitud de reintento según sea necesario. Para obtener más información, consulta Solicitudes de reintento.

Document AI Document AI es un servicio regional. Los datos se almacenan de forma síncrona en varias zonas dentro de una región. Las cargas del tráfico se balancean automáticamente entre las zonas. Si se produce una interrupción zonal, los datos no se pierden. Si se produce una interrupción regional, Document AI no estará disponible hasta que Google resuelva la interrupción.

Optimización de costos

En esta sección, se proporciona orientación para ayudarte a optimizar el costo de configurar y operar una aplicación de IA generativa compatible con RAG en Google Cloud.

Producto Consideraciones del diseño
Cloud Run

Cuando creas trabajos de Cloud Run, especificas la cantidad de memoria y CPU que se asignarán a la instancia de contenedor. Para controlar los costos, comienza con las asignaciones de CPU y memoria predeterminadas (mínimas). Para mejorar el rendimiento, puedes aumentar la asignación mediante la configuración del límite de CPU y el límite de memoria.

Si puedes predecir los requisitos de CPU y memoria de tus trabajos de Cloud Run, puedes ahorrar dinero mediante la obtención de descuentos por compromiso de uso. Para obtener más información, consulta Descuentos por compromiso de uso de Cloud Run.

AlloyDB para PostgreSQL

De forma predeterminada, una instancia principal de un clúster de AlloyDB para PostgreSQL tiene alta disponibilidad (HA). La instancia tiene un nodo activo y uno en espera. Si el nodo activo falla, AlloyDB para PostgreSQL realiza la conmutación por error automáticamente al nodo en espera. Si no necesitas HA para las bases de datos, puedes reducir los costos si conviertes la instancia principal del clúster en una instancia básica. Una instancia básica no es sólida contra las interrupciones zonales y tiene un tiempo de inactividad más prolongado durante las operaciones de mantenimiento. Para obtener más información, consulta Reduce los costos con instancias básicas.

Si puedes predecir los requisitos de CPU y memoria de tu instancia de AlloyDB para PostgreSQL, puedes ahorrar dinero si obtienes descuentos por compromiso de uso. Si deseas obtener más información, consulta Descuentos por compromiso de uso de AlloyDB para PostgreSQL.

BigQuery BigQuery te permite estimar el costo de las consultas antes de ejecutarlas. Para optimizar los costos de las consultas, debes optimizar el almacenamiento y el procesamiento de las consultas. Para obtener más información, consulta Estima y controla los costos.
Cloud Storage Para el bucket de Cloud Storage que usas para cargar datos en el subsistema de transferencia de datos, elige una opción adecuadaclase de almacenamiento Según los requisitos de retención de datos y frecuencia de acceso de tus cargas de trabajo. Por ejemplo, puedes elegir la clase Standard Storage y usar la Administración del ciclo de vida de los objetos para controlar los costos de almacenamiento cambiando automáticamente los objetos a una clase de almacenamiento de menor costo o borrar objetos según las condiciones que establezcas.
Cloud Logging

Para controlar el costo de almacenamiento de registros, puedes hacer lo siguiente:

  • Reduce el volumen de los registros mediante la exclusión o filtración de entradas de registro innecesarias. Para obtener más información, consulta Filtros de exclusión.
  • Reduce el período para el que se retienen las entradas de registro. Para obtener más información, consulta Configura la retención personalizada.

Rendimiento

En esta sección, se describen los factores que debes tener en cuenta cuando diseñas y compilas una aplicación de IA generativa compatible con RAG en Google Cloud que cumpla con tus requisitos de rendimiento.

Producto Consideraciones del diseño
Cloud Run De forma predeterminada, a cada instancia de contenedor de Cloud Run se le asigna una CPU y 512 MiB de memoria. Según tus requisitos de rendimiento para los trabajos de Cloud Run, puedes configurar el límite de CPU y el límite de memoria.
AlloyDB para PostgreSQL

Para ayudarte a analizar y mejorar el rendimiento de las consultas de las bases de datos, AlloyDB para PostgreSQL proporciona una herramienta de estadísticas de consultas. Puedes usar esta herramienta para supervisar el rendimiento y realizar un seguimiento de la fuente de una consulta problemática. Para obtener más información, consulta la Descripción general de las estadísticas de consultas.

Para obtener una descripción general del estado y el rendimiento de las bases de datos y ver métricas detalladas, como las conexiones máximas y el retraso máximo de replicación, puedes usar el panel de estadísticas del sistema. Para obtener más información, consulta Supervisa una instancia con el panel de Estadísticas del sistema de AlloyDB para PostgreSQL.

Para reducir la carga en tu instancia principal de AlloyDB para PostgreSQL y escalar horizontalmente la capacidad para controlar solicitudes de lectura, puedes agregar instancias de grupo de lectura al clúster. Si deseas obtener más información, consulta Instancias y nodos de AlloyDB para PostgreSQL.

BigQuery

BigQuery proporciona un gráfico de ejecución de consultas que puedes usar para analizar el rendimiento de las consultas y obtener estadísticas de rendimiento en cuanto a problemas como la contención de ranuras y la cuota de redistribución insuficiente. Para obtener más información, consulta Obtén estadísticas de rendimiento de las consultas.

Después de abordar los problemas que identificas a través de las estadísticas de rendimiento de las consultas, puedes optimizar aún más las consultas con técnicas como la reducción del volumen de datos de entrada y salida. Para obtener más información, consulta Optimiza el procesamiento de las consultas.

Cloud Storage Para subir archivos grandes, puedes usar un método llamado cargas compuestas en paralelo. Con esta estrategia, el archivo grande se divide en fragmentos. Los fragmentos se suben a Cloud Storage en paralelo y, luego, los datos se recomponen en la nube. Las cargas compuestas paralelas pueden ser más rápidas que las operaciones de carga normales cuando el ancho de banda de red y la velocidad del disco no son factores limitantes. Sin embargo, esta estrategia tiene algunas implicaciones de costos y limitaciones. Para obtener más información, consulta la sección sobre cargas compuestas paralelas.

Implementación

Si quieres comenzar a compilar infraestructura en Google Cloud para aplicaciones de IA generativas compatibles con RAG, puedes usar la Solución de inicio rápido: Solución de inicio rápido RAG de IA generativa con Cloud SQL. En esta solución, se implementa una aplicación de chat basada en Python en Cloud Run y se usa una base de datos de Cloud SQL completamente administrada para la búsqueda de vectores. El código de muestra de este instructivo está disponible en GitHub.

¿Qué sigue?

Colaboradores

Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos

Otros colaboradores: