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

Last reviewed 2024-12-06 UTC

En este documento, se proporciona una arquitectura de referencia que puedes usar para diseñar la infraestructura de una aplicación de IA generativa con generación aumentada (RAG) mediante Vector Search. Vector Search es un servicio de Google Cloud completamente administrado que proporciona una infraestructura de entrega optimizada para la coincidencia de similitud de vectores a gran escala.

El público previsto para este documento incluye arquitectos, desarrolladores y administradores de aplicaciones de IA generativa. 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 la arquitectura que presenta este documento:

Una vista de alto nivel de los flujos de transferencia y entrega de datos en la arquitectura

La arquitectura del diagrama anterior tiene dos subsistemas: transferencia de datos y entrega.

  • El subsistema de transferencia de datos transfiere datos que se suben desde fuentes externas. El subsistema prepara los datos para RAG y, luego, interactúa con Vertex AI para generar incorporaciones para los datos transferidos y compilar y actualizar el índice vectorial.
  • El subsistema de entrega contiene los servicios de frontend y backend de la aplicación de IA generativa.
    • El servicio de frontend controla el flujo de consulta y respuesta con los usuarios de la aplicación y reenvía las consultas al servicio de backend.
    • El servicio de backend usa Vertex AI para generar incorporaciones de consultas, realizar búsquedas de similitud de vectores y aplicar instrucciones del sistema y filtros de seguridad de IA responsable.

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

Una vista detallada de los flujos de transferencia y entrega de datos en la arquitectura.

En las siguientes secciones, se describe el flujo de datos dentro de cada subsistema del diagrama de arquitectura anterior.

Subsistema de transferencia de datos

El subsistema de transferencia de datos transfiere datos de fuentes externas y los prepara para RAG. Los siguientes son los pasos en el flujo de transferencia y preparación de datos:

  1. Los datos se suben desde fuentes externas a un bucket de Cloud Storage. Las fuentes externas pueden ser aplicaciones, bases de datos o servicios de transmisión.
  2. Cuando se suben datos a Cloud Storage, se publica un mensaje en un tema de Pub/Sub.
  3. Cuando el tema de Pub/Sub recibe un mensaje, activa un trabajo de Cloud Run.
  4. La tarea de Cloud Run analiza los datos sin procesar, los formatea según sea necesario y los divide en fragmentos.
  5. El trabajo de Cloud Run usa la API de incorporaciones de Vertex AI para crear incorporaciones de los fragmentos con un modelo de incorporación que especifiques. Vertex AI admite modelos de incorporación de texto y multimodal.
  6. La tarea de Cloud Run compila un índice de Vector Search de las incorporaciones y, luego, lo implementa.

Cuando se transfieren datos nuevos, se realizan los pasos anteriores para los datos nuevos y se actualiza el índice con las actualizaciones de transmisión.

Cuando el subsistema de entrega procesa solicitudes de usuarios, usa el índice de Vector Search para la búsqueda de similitud vectorial. En la siguiente sección, se describe el flujo de publicación.

Subsistema de entrega

El subsistema de entrega controla el flujo de consulta y respuesta entre la aplicación de IA generativa y sus usuarios. Los siguientes son los pasos del flujo de publicación:

  1. Un usuario envía una consulta de lenguaje natural a un servicio de Cloud Run que proporciona una interfaz de frontend (como un chatbot) para la aplicación de IA generativa.
  2. El servicio de frontend reenvía la consulta del usuario a un servicio de Cloud Run de backend.
  3. El servicio de backend procesa la consulta de la siguiente manera:
    1. Convierte la consulta en incorporaciones con el mismo modelo de incorporaciones y los mismos parámetros que usa el subsistema de transferencia de datos para generar incorporaciones de los datos transferidos.
    2. Recupera datos de vinculación relevantes realizando una búsqueda de similitud vectorial para las incorporaciones de la consulta en el índice de búsqueda vectorial.
    3. Combina la consulta original con los datos de referencia para construir una instrucción aumentada.
    4. Envía la instrucción aumentada a un LLM que se implementó en Vertex AI.
  4. El LLM genera una respuesta.
  5. Para cada instrucción, Vertex AI aplica los filtros de seguridad de IA responsable que configuraste y, luego, envía la respuesta filtrada y las puntuaciones de seguridad de IA al servicio de backend de Cloud Run.
  6. La aplicación envía la respuesta al usuario a través del servicio de frontend de Cloud Run.

Puedes almacenar y ver registros de la actividad de consulta y respuesta en Cloud Logging, y puedes configurar la supervisión basada en registros mediante Cloud Monitoring. También puedes cargar las respuestas generadas en BigQuery para las estadísticas sin conexión.

El optimizador de instrucciones de Vertex AI te ayuda a mejorar las instrucciones a gran escala, tanto durante el diseño inicial de las instrucciones como para el ajuste continuo de las instrucciones. El optimizador de instrucciones evalúa la respuesta de tu modelo a un conjunto de instrucciones de muestra que proporcionan los ingenieros de AA. El resultado de la evaluación incluye las respuestas del modelo a las instrucciones de muestra, las puntuaciones de las métricas que especifican los ingenieros de AA y un conjunto de instrucciones del sistema optimizadas que puedes considerar usar.

Productos usados

En esta arquitectura de referencia, se usan los siguientes productos de Google Cloud:

  • 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.
  • Búsqueda de vectores: Es un servicio de coincidencia de similitud de vectores que te permite almacenar, indexar y buscar datos semánticamente similares o relacionados.
  • Cloud Run es una plataforma de procesamiento administrada que te permite ejecutar contenedores directamente sobre la infraestructura escalable de Google.
  • 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.
  • 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.
  • 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.

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.

Alternativas de diseño

En esta sección, se presenta una descripción general de los enfoques de diseño alternativos que puedes considerar para tu aplicación de IA generativa compatible con RAG.

Alternativas de infraestructura de IA

Además de la arquitectura que se describe en este documento, Google Cloud ofrece las siguientes alternativas de infraestructura para los componentes de IA de tu aplicación de IA generativa.

Para obtener más información, consulta Elige modelos y la infraestructura para tu aplicación de IA generativa.

Opciones de hosting de aplicaciones

En la arquitectura que se muestra en este documento, Cloud Run es el host de los servicios de aplicación de IA generativa y el trabajo de procesamiento de datos. Cloud Run es una plataforma de aplicaciones completamente administrada enfocada en los desarrolladores. Si necesitas mayor flexibilidad de configuración y control sobre la infraestructura de procesamiento, puedes implementar tu aplicación en clústeres de GKE o en VMs de Compute Engine.

La decisión de usar Cloud Run, GKE o Compute Engine como host de tu aplicación implica un equilibrio entre la flexibilidad de la configuración y el esfuerzo de administración. Con la opción sin servidores de Cloud Run, implementas tu aplicación en un entorno preconfigurado que requiere un esfuerzo de administración mínimo. Con VMs de Compute Engine y contenedores de GKE, tú eres responsable de administrar los recursos de procesamiento subyacentes, pero tienes mayor flexibilidad y control de configuración. Para obtener más información sobre cómo elegir un servicio de hosting de aplicaciones apropiado, consulta los siguientes documentos:

Consideraciones del diseño

En esta sección, se describen los factores de diseño, las prácticas recomendadas y las recomendaciones de diseño que debes tener en cuenta cuando usas esta arquitectura de referencia para desarrollar una topología que cumpla con tus requisitos específicos de seguridad, confiabilidad, costo y rendimiento.

La guía de esta sección no está completa. Según los requisitos específicos de tu aplicación, y los productos y funciones de Google Cloud y de terceros que uses, puede haber factores de diseño y compensaciones adicionales que deberías considerar.

Seguridad, cumplimiento y privacidad

En esta sección, se describen las consideraciones y recomendaciones de diseño para diseñar una topología en Google Cloud que cumpla con los requisitos de seguridad y cumplimiento de tus cargas de trabajo.

Producto Consideraciones y recomendaciones de diseño
Vertex AI

Controles de seguridad: 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. Para obtener más información, consulta Controles de seguridad para Vertex AI y Controles de seguridad para Generative AI.

Acceso a modelos: Puedes configurar políticas de la organización para limitar el tipo y las versiones de LLM que se pueden usar en un proyecto de Google Cloud. Para obtener más información, consulta Cómo controlar el acceso a los modelos de Model Garden.

Responsabilidad compartida: Vertex AI protege la infraestructura subyacente y proporciona herramientas y controles de seguridad para ayudarte a proteger tus datos, código y modelos. Para obtener más información, consulta Responsabilidad compartida de Vertex AI.

Protección de datos: Usa la API de Cloud Data Loss Prevention para descubrir y desidentificar datos sensibles, como información de identificación personal (PII), en las instrucciones y respuestas, y en los datos de registro. Para obtener más información, mira este video: Protege datos sensibles en apps de IA.

Cloud Run

Seguridad de entrada (servicio de frontend): Para controlar el acceso externo a la aplicación, inhabilita la URL predeterminada de run.app del servicio de Cloud Run de frontend y configura un balanceador de cargas de aplicaciones externo regional. Además de balancear el tráfico entrante a la aplicación, el balanceador de cargas se encarga de la administración de los certificados SSL. Para obtener una protección adicional, puedes usar las políticas de seguridad de Google Cloud Armor para proporcionar filtrado de solicitudes, protección DSD y límite de frecuencia para el servicio.

Seguridad de entrada (servicio de backend): El servicio de Cloud Run para el backend de la aplicación en esta arquitectura no necesita acceso desde Internet. Para asegurarte de que solo los clientes internos puedan acceder al servicio, establece el parámetro ingress en internal. Para obtener más información, consulta Restringe la entrada de red para Cloud Run.

Encriptación de datos: 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.

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

Residencia de datos: 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.

Para obtener más orientación sobre la seguridad de los contenedores, consulta Sugerencias generales de desarrollo de Cloud Run.

Cloud Storage

Encriptación de datos: 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.

Control de acceso: Cloud Storage admite dos sistemas para controlar el acceso de los usuarios a tus buckets y objetos: Identity and Access Management (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.

Protección de datos: 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.

Control de red: Para mitigar el riesgo de robo de datos de Cloud Storage, puedes crear un perímetro de servicio mediante los Controles del servicio de VPC.

Residencia de datos: 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

Encriptación de datos: 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.

Residencia de datos: 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.

Cloud Logging

Auditoría de actividad administrativa: El registro de la actividad administrativa está habilitado de forma predeterminada para todos los servicios de Google Cloud que se usan en esta arquitectura de referencia. Puedes acceder a los registros a través de Cloud Logging y usarlos para supervisar las llamadas a la API y otras acciones que modifiquen la configuración o los metadatos de los recursos de Google Cloud.

Auditoría de acceso a los datos: El registro de eventos de acceso a los datos está habilitado 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. Puedes usar estos registros para supervisar lo siguiente:

  • Llamadas a la API que leen la configuración o los metadatos de los recursos.
  • Solicitudes del usuario para crear, modificar o leer datos de recursos proporcionados por el usuario

Seguridad de los datos de registro: Google no accede a los datos de Cloud Logging ni los usa.

Residencia de datos: 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.

Todos los productos de la arquitectura

Mitiga el riesgo de robo de datos: Para reducir el riesgo de robo de datos, crea un perímetro de Controles del servicio de VPC alrededor de la infraestructura. Los Controles del servicio de VPC admiten todos los servicios que se usan en esta arquitectura de referencia.

Optimización posterior a la implementación: Después de implementar tu aplicación en Google Cloud, usa el servicio de Active Assist para obtener recomendaciones que te ayuden a optimizar aún más la seguridad de tus recursos en la nube. Revisa las recomendaciones y aplícalas según corresponda a tu entorno. Para obtener más información, consulta Cómo encontrar recomendaciones en el Centro de recomendaciones.

Control de acceso: Sigue el principio de privilegio mínimo para cada servicio en la nube.

Para obtener orientación general sobre la seguridad de las implementaciones de IA y AA en Google Cloud, consulta los siguientes recursos:

Confiabilidad

En esta sección, se describen las consideraciones y recomendaciones de diseño para compilar y operar una infraestructura confiable para tu implementación en Google Cloud.

Producto Consideraciones y recomendaciones de diseño
Búsqueda de vectores

Escalamiento de consultas: Para asegurarte de que el índice de Vector Search pueda controlar los aumentos en la carga de consultas, puedes configurar el ajuste de escala automático para el extremo del índice. Cuando aumenta la carga de consultas, la cantidad de nodos aumenta automáticamente hasta el máximo que especifiques. Para obtener más información, consulta Habilita el ajuste de escala automático.

Cloud Run

Robustez ante interrupciones de la infraestructura: 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, Cloud Run continuará ejecutándose y los datos no se perderán. Si se produce una interrupción regional, Cloud Run deja de ejecutarse hasta que Google resuelva la interrupción.

Manejo de fallas: 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.

Cloud Storage Disponibilidad de los datos: Puedes crear buckets de Cloud Storage en uno de los tres tipos de ubicación: regional, birregional o multirregión. Los datos que se almacenan 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

Control de frecuencia: Para evitar errores durante períodos de aumentos transitorios en el tráfico de mensajes, puedes limitar la frecuencia de solicitudes de publicación configurando el control de flujo en la configuración del publicador.

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

BigQuery Robustez ante interrupciones de la infraestructura: 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.
Todos los productos de la arquitectura Optimización posterior a la implementación: Después de implementar tu aplicación en Google Cloud, usa el servicio de Active Assist para obtener recomendaciones que te permitan optimizar aún más la confiabilidad de tus recursos en la nube. Revisa las recomendaciones y aplícalas según corresponda a tu entorno. Para obtener más información, consulta Cómo encontrar recomendaciones en el Recommendation Hub.

Para obtener una descripción general de los principios para diseñar y operar sistemas confiables de IA y AA en Google Cloud, consulta Perspectiva de confiabilidad de IA y AA en el framework de la arquitectura de Google Cloud.

Optimización de costos

En esta sección, se proporciona orientación para optimizar el costo de configurar y operar una topología de Google Cloud que compilas a través de esta arquitectura de referencia.

Producto Consideraciones y recomendaciones de diseño
Búsqueda de vectores

La facturación de la Búsqueda de vectores depende del tamaño de tu índice, las consultas por segundo (QPS) y la cantidad y el tipo de máquina de los nodos que usas para el extremo del índice. En el caso de las cargas de trabajo con QPS alto, agrupar las consultas puede ayudar a reducir los costos. Para obtener información sobre cómo puedes estimar el costo de la Búsqueda de vectores, consulta Ejemplos de precios de la Búsqueda de vectores.

Para mejorar el uso de los nodos de procesamiento en los que se implementa el índice de búsqueda vectorial, puedes configurar el ajuste de escala automático para el extremo del índice. Cuando la demanda es baja, la cantidad de nodos se reduce automáticamente al mínimo que especifiques. Para obtener más información, consulta Habilita el ajuste de escala automático.

Cloud Run

Cuando creas trabajos y servicios 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. Para obtener más información, consulta la siguiente documentación:

Si puedes predecir los requisitos de CPU y memoria de tus trabajos y servicios 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.

Cloud Storage Para el bucket de Cloud Storage que usas para cargar datos en el subsistema de transferencia de datos, elige una clase de almacenamiento adecuada. Cuando elijas la clase de almacenamiento, ten en cuenta los requisitos de retención de datos y frecuencia de acceso de tus cargas de trabajo. Por ejemplo, para controlar los costos de almacenamiento, puedes elegir la clase Standard y usar la Administración del ciclo de vida de los objetos. De esta manera, se habilita la baja automática de objetos a una clase de almacenamiento de menor costo o la eliminación de 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.
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.
Todos los productos de la arquitectura Después de implementar tu aplicación en Google Cloud, usa el servicio Active Assist para obtener recomendaciones que te permitan optimizar aún más el costo de tus recursos de nube. Revisa las recomendaciones y aplícalas según corresponda a tu entorno. Para obtener más información, consulta Cómo encontrar recomendaciones en el Recommendation Hub.

Para estimar el costo de tus recursos de Google Cloud, usa la calculadora de precios de Google Cloud.

Para obtener una descripción general de los principios para optimizar el costo de tus sistemas de IA durante el ciclo de vida del AA, consulta Perspectiva de optimización de costos de IA y AA en el Framework de arquitectura de Google Cloud.

Optimización del rendimiento

En esta sección, se describen las consideraciones y recomendaciones de diseño para diseñar una topología en Google Cloud que cumpla con los requisitos de rendimiento de tus cargas de trabajo.

Producto Consideraciones y recomendaciones de diseño
Búsqueda de vectores

Cuando crees el índice, establece el tamaño del fragmento, el tipo de medición de distancia y la cantidad de incorporaciones para cada nodo hoja según tus requisitos de rendimiento. Por ejemplo, si tu aplicación es extremadamente sensible a la variabilidad de la latencia, te recomendamos un tamaño de fragmento grande. Para obtener más información, consulta Parámetros de configuración que afectan el rendimiento.

Cuando configures la capacidad de procesamiento de los nodos en los que se implementa el índice de Vector Search, ten en cuenta tus requisitos de rendimiento. Elige un tipo de máquina adecuado y establece la cantidad máxima de nodos según la carga de consultas que esperas. Para obtener más información, consulta Configuración de implementación que afecta el rendimiento.

Configura los parámetros de consulta del índice de Vertex Search según tus requisitos de rendimiento, disponibilidad y costo de las consultas. Por ejemplo, el parámetro approximateNeighborsCount especifica la cantidad de vecinos que se deben recuperar antes de realizar el reordenamiento exacto. Disminuir el valor de este parámetro puede ayudar a reducir la latencia y el costo. Para obtener más información, consulta Configuración del tiempo de consulta que afecta el rendimiento.

Un índice actualizado ayuda a mejorar la exactitud de las respuestas generadas. Puedes actualizar tu índice de Vector Search usando actualizaciones por lotes o de transmisión. Las actualizaciones de transmisión te permiten realizar consultas casi en tiempo real en los datos actualizados. Para obtener más información, consulta Actualiza y vuelve a compilar un índice activo.

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 los requisitos de rendimiento, puedes configurar el límite de CPU y el límite de memoria. Para obtener más información, consulta la siguiente documentación:

Para garantizar una latencia óptima incluso después de un período sin tráfico, puedes configurar una cantidad mínima de instancias. Cuando estas instancias están inactivas, la CPU y la memoria que se asignan a las instancias se facturan a un precio más bajo.

Para obtener más orientación sobre la optimización del rendimiento, consulta Sugerencias generales para el desarrollo de Cloud Run.

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. Cuando el ancho de banda de red y la velocidad del disco no son factores limitantes, las cargas compuestas en paralelo pueden ser más rápidas que las operaciones de carga normales. 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.
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.

Todos los productos de la arquitectura Después de implementar tu aplicación en Google Cloud, usa el servicio de Active Assist para obtener recomendaciones que te permitan optimizar aún más el rendimiento de tus recursos en la nube. Revisa las recomendaciones y aplícalas según corresponda a tu entorno. Para obtener más información, consulta Cómo encontrar recomendaciones en el Recommendation Hub.

Para obtener una descripción general de los principios para optimizar el rendimiento de tus cargas de trabajo de IA y AA en Google Cloud, consulta Perspectiva de optimización del rendimiento de IA y AA en el framework de arquitectura de Google Cloud.

¿Qué sigue?

Colaboradores

Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos

Otros colaboradores:

  • Assaf Namer | Arquitecto principal de seguridad en la nube
  • Deepak Michael | Ingeniero de Atención al cliente especializado en herramientas de redes
  • Divam Anand | Jefe de Operaciones y Estrategia de Productos
  • Eran Lewis | Gerente de producto sénior
  • Mark Schlagenhauf | Escritor técnico, Herramientas de redes
  • Preston Holmes | Gerente de productos salientes: aceleración de aplicaciones
  • Rob Edwards | Director de prácticas de tecnología, DevOps
  • Victor Moreno | Gerente de producto, Herramientas de redes de Cloud
  • Wietse Venema Ingeniero de relaciones con desarrolladores