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

Last reviewed 2025-03-07 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 por recuperación (RAG) mediante Vector Search. Búsqueda de vectores es un servicio totalmente gestionado Google Cloud que proporciona una infraestructura de servicio optimizada para la coincidencia de similitud de vectores a gran escala.

Este documento está dirigido a arquitectos, desarrolladores y administradores de aplicaciones de IA generativa. En este documento se presupone que tienes conocimientos básicos sobre los conceptos de IA, aprendizaje automático y modelos de lenguaje extensos. En este documento no se explica cómo diseñar y desarrollar una aplicación de IA generativa.

Arquitectura

En el siguiente diagrama se muestra una vista general de la arquitectura que se describe en este documento:

Vista general de los flujos de ingestión y servicio de datos de la arquitectura.

La arquitectura del diagrama anterior tiene dos subsistemas: la ingestión de datos y el servicio.

  • El subsistema de ingestión de datos ingiere los datos que se suben desde fuentes externas. El subsistema prepara los datos para RAG e interactúa con Vertex AI para generar inserciones de los datos ingeridos, así como para crear y actualizar el índice vectorial.
  • El subsistema de servicio contiene los servicios de frontend y backend de la aplicación de IA generativa.
    • El servicio de frontend gestiona el flujo de consulta-respuesta con los usuarios de la aplicación y reenvía las consultas al servicio de backend.
    • El servicio backend usa Vertex AI para generar inserciones de consulta, realizar búsquedas de similitud de vectores y aplicar filtros de seguridad e instrucciones del sistema de IA responsable.

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

Una vista detallada de los flujos de ingestión y servicio de datos en la arquitectura.

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

Subsistema de ingestión de datos

El subsistema de ingestión de datos ingiere datos de fuentes externas y los prepara para el RAG. Estos son los pasos del flujo de ingestión y preparación de datos:

  1. Los datos se suben desde fuentes externas a un segmento de Cloud Storage. Las fuentes externas pueden ser aplicaciones, bases de datos o servicios de streaming.
  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 una función de Cloud Run.
  4. La función de Cloud Run analiza los datos sin procesar, los formatea según sea necesario y los divide en fragmentos.
  5. La función usa la API Embeddings de Vertex AI para crear inserciones de los fragmentos mediante un modelo de inserción que especifiques. Vertex AI admite modelos de inserción de texto y multimodales.
  6. A continuación, la función crea un índice de búsqueda vectorial de las incrustaciones y lo implementa.

Cuando se ingieren datos nuevos, se siguen los pasos anteriores para los datos nuevos y el índice se actualiza mediante actualizaciones en streaming.

Cuando el subsistema de servicio procesa las solicitudes de los usuarios, utiliza el índice de búsqueda de vectores para buscar similitudes de vectores. En la siguiente sección se describe el flujo de servicio.

Subsistema de servicio

El subsistema de servicio gestiona el flujo de consulta-respuesta entre la aplicación de IA generativa y sus usuarios. Estos son los pasos del flujo de publicación:

  1. Un usuario envía una consulta en 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 backend de Cloud Run.
  3. El servicio de backend procesa la consulta de la siguiente manera:
    1. Convierte la consulta en inserciones mediante el mismo modelo y los mismos parámetros de inserciones que usa el subsistema de ingestión de datos para generar inserciones de los datos ingeridos.
    2. Recupera datos de fundamentación relevantes realizando una búsqueda de similitud de vectores de las inserciones de la consulta en el índice de Vector Search.
    3. Crea una petición aumentada combinando la consulta original con los datos de fundamentación.
    4. Envía la petición aumentada a un LLM implementado en Vertex AI.
  4. El LLM genera una respuesta.
  5. En cada petición, Vertex AI aplica los filtros de seguridad de la IA responsable que hayas configurado y, a continuación, envía la respuesta filtrada y las puntuaciones de seguridad de la IA al servicio de backend de Cloud Run.
  6. La aplicación envía la respuesta al usuario a través del servicio frontend de Cloud Run.

Puedes almacenar y ver los registros de la actividad de consulta y respuesta en Cloud Logging, así como configurar la monitorización basada en registros mediante Cloud Monitoring. También puedes cargar las respuestas generadas en BigQuery para realizar analíticas sin conexión.

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

Productos usados

Esta arquitectura de referencia usa los siguientes Google Cloud productos:

  • Vertex AI: una plataforma de aprendizaje automático que te permite entrenar y desplegar modelos de aprendizaje automático y aplicaciones de IA, así como personalizar LLMs para usarlos con aplicaciones basadas en IA.
  • Búsqueda vectorial: un servicio de coincidencia de similitud vectorial que te permite almacenar, indexar y buscar datos semánticamente similares o relacionados.
  • Cloud Run: una plataforma de computación sin servidor que te permite ejecutar contenedores directamente en la infraestructura escalable de Google.
  • Funciones de Cloud Run: una plataforma de computación sin servidor que te permite ejecutar funciones con un solo propósito directamente en Google Cloud.
  • Cloud Storage: un almacén de objetos ilimitado y a un coste bajo para diversos tipos de datos. Se puede acceder a los datos desde dentro y fuera de Google Cloud, y se replican en varias ubicaciones para ofrecer redundancia.
  • Pub/Sub: un servicio de mensajería asíncrono y escalable que desacopla los servicios que producen mensajes de los que los procesan.
  • Cloud Logging: un sistema de gestión de registros en tiempo real con funciones de almacenamiento, búsqueda, análisis y alertas.
  • Cloud Monitoring: un servicio que ofrece visibilidad sobre el rendimiento, la disponibilidad y el estado de tus aplicaciones e infraestructura.
  • BigQuery: un almacén de datos empresariales que te ayuda a gestionar y analizar tus datos con funciones integradas como el aprendizaje automático, el análisis geoespacial y la inteligencia empresarial.

Casos prácticos

La RAG es una técnica eficaz para mejorar la calidad de los resultados que genera un LLM. En esta sección se proporcionan ejemplos de casos prácticos en los que puedes usar aplicaciones de IA generativa compatibles con RAG.

Recomendaciones personalizadas de productos

Un sitio de compras online puede usar un chatbot basado en LLM para ayudar a los clientes a encontrar productos o recibir asistencia relacionada con las compras. Las preguntas de un usuario se pueden mejorar usando datos históricos sobre su comportamiento de compra y sus patrones de interacción con el sitio web. Los datos pueden incluir reseñas y comentarios de usuarios que se almacenan en un almacén de datos no estructurado, o bien métricas relacionadas con las búsquedas que se almacenan en un almacén de datos de analíticas web. El LLM puede procesar la pregunta ampliada para generar respuestas personalizadas que resulten más atractivas y convincentes para el usuario.

Sistemas de asistencia clínica

Los médicos de los hospitales necesitan analizar y diagnosticar rápidamente el estado de salud de un paciente para tomar decisiones sobre la atención y la medicación adecuadas. Una aplicación de IA generativa que utilice un LLM médico como Med-PaLM se puede usar para ayudar a los médicos en el proceso de diagnóstico clínico. Las respuestas que genera la aplicación se pueden basar en el historial de los pacientes contextualizando las peticiones de los médicos con datos de la base de datos de la historia clínica electrónica del hospital o de una base de conocimientos externa, como PubMed.

La investigación jurídica basada en IA generativa permite a los abogados consultar rápidamente grandes volúmenes de leyes y jurisprudencia para identificar precedentes jurídicos relevantes o resumir conceptos jurídicos complejos. Los resultados de estas investigaciones se pueden mejorar si se complementan las peticiones de los abogados con datos obtenidos del corpus de contratos, las comunicaciones legales anteriores y los registros de casos internos de la firma de abogados. Este enfoque de diseño asegura que las respuestas generadas sean relevantes para el ámbito jurídico en el que se especializa el abogado.

Alternativas de diseño

En esta sección se presentan enfoques de diseño alternativos que puedes tener en cuenta para tu aplicación de IA generativa compatible con RAG en Google Cloud.

Alternativas de infraestructura de IA

Si quieres aprovechar las funciones de almacén de vectores de una base de datos totalmente gestionada, Google Cloud como AlloyDB para PostgreSQL o Cloud SQL, en tu aplicación RAG, consulta Infraestructura para una aplicación de IA generativa compatible con RAG que use Vertex AI y AlloyDB para PostgreSQL.

Si quieres crear y desplegar rápidamente aplicaciones de IA generativa compatibles con RAG con las herramientas y los modelos de código abierto Ray, Hugging Face y LangChain, consulta el artículo sobre la infraestructura para una aplicación de IA generativa compatible con RAG que use GKE y Cloud SQL.

Opciones de alojamiento de aplicaciones

En la arquitectura que se muestra en este documento, Cloud Run es el host de la aplicación de IA generativa y del procesamiento de datos. Cloud Run es una plataforma de aplicaciones totalmente gestionada y orientada a los desarrolladores. Si necesitas más flexibilidad de configuración y control sobre la infraestructura de computación, puedes desplegar tu aplicación en clústeres de GKE o en máquinas virtuales 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 gestión. Con la opción sin servidor de Cloud Run, puedes desplegar tu aplicación en un entorno preconfigurado que requiere un esfuerzo de gestión mínimo. Con las VMs de Compute Engine y los contenedores de GKE, eres responsable de gestionar los recursos de computación subyacentes, pero tienes más flexibilidad y control de la configuración. Para obtener más información sobre cómo elegir un servicio de alojamiento de aplicaciones adecuado, consulta los siguientes documentos:

Otras opciones

Para obtener información sobre otras opciones de infraestructura, modelos admitidos y técnicas de fundamentación que puedes usar en aplicaciones de IA generativa enGoogle Cloud, consulta Elegir modelos e infraestructura para tu aplicación de IA generativa.

Factores 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 al usar esta arquitectura de referencia para desarrollar una topología que cumpla tus requisitos específicos de seguridad, fiabilidad, coste y rendimiento.

Las directrices de esta sección no son exhaustivas. En función de los requisitos específicos de tu aplicación y de los productos y funciones de terceros que utilices, puede que haya otros factores de diseño y compensaciones que debas tener en cuenta. Google Cloud

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 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 admite controles de seguridad que puedes usar para cumplir tus requisitos de residencia de datos, cifrado de datos, seguridad de red y transparencia de acceso. Google Cloud Para obtener más información, consulta Controles de seguridad de Vertex AI y Controles de seguridad de la IA generativa.

Acceso al modelo: puedes configurar políticas de la organización para limitar el tipo y las versiones de los LLMs que se pueden usar en un Google Cloud proyecto. Para obtener más información, consulta 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 Cloud Data Loss Prevention para descubrir y desidentificar datos sensibles, como la información personal identificable (IPI), en las peticiones, las respuestas y los datos de registro. Para obtener más información, consulta este vídeo: Protecting sensitive data in AI apps (Protección de datos sensibles en aplicaciones de IA).

Cloud Run

Seguridad de entrada (servicio frontend): para controlar el acceso externo a la aplicación, inhabilita la URL run.app predeterminada del servicio frontend de Cloud Run y configura un balanceador de carga de aplicaciones externo regional. Además de balancear la carga del tráfico entrante a la aplicación, el balanceador de carga gestiona los certificados SSL. Para aumentar la protección, puedes usar las políticas de seguridad de Google Cloud Armor para proporcionar filtrado de solicitudes, protección frente a DDoS y limitación de frecuencia al servicio.

Seguridad de Ingress (servicio de backend): el servicio de Cloud Run del backend de la aplicación en esta arquitectura no necesita acceso a Internet. Para asegurarte de que solo los clientes internos puedan acceder al servicio, asigna el valor internal al parámetro ingress. Para obtener más información, consulta Restringir el acceso de red a Cloud Run.

Cifrado de datos: de forma predeterminada, Cloud Run cifra los datos mediante una Google-owned and Google-managed encryption key. Para proteger tus contenedores con una clave que controles, puedes usar claves de cifrado gestionadas por el cliente (CMEK). Para obtener más información, consulta el artículo Usar claves de cifrado gestionadas por el cliente.

Seguridad de las imágenes de contenedor: para asegurarte de que solo se desplieguen imágenes de contenedor autorizadas en los servicios de Cloud Run, puedes usar la autorización binaria.

Residencia de datos: Cloud Run te ayuda a cumplir los requisitos de residencia de datos. Cloud Run Las instancias de contenedor se ejecutan en la región que selecciones.

Para obtener más información sobre la seguridad de los contenedores, consulta los consejos generales para el desarrollo en Cloud Run.

Cloud Storage

Cifrado de datos: de forma predeterminada, los datos almacenados en Cloud Storage se cifran mediante Google-owned and Google-managed encryption keys. Si es necesario, puedes usar CMEKs o tus propias claves, que puedes gestionar con un método de gestión externo, como las claves de cifrado proporcionadas por el cliente (CSEKs). Para obtener más información, consulta las opciones de cifrado de datos.

Control de acceso: Cloud Storage admite dos métodos para controlar el acceso de los usuarios a tus segmentos y objetos: gestión de identidades y accesos (IAM) y listas de control de acceso (LCAs). En la mayoría de los casos, recomendamos usar IAM, que te permite conceder permisos a nivel de proyecto y de segmento. Para obtener más información, consulta Descripción general del control de acceso.

Protección de datos: los datos que cargues en el subsistema de ingestión de datos a través de Cloud Storage pueden incluir datos sensibles. Para proteger estos datos, puedes usar Protección de datos sensibles para descubrirlos, clasificarlos y desidentificarlos. Para obtener más información, consulta Usar Protección de Datos Sensibles con Cloud Storage.

Control de red: para mitigar el riesgo de filtración externa de datos de Cloud Storage, puedes crear un perímetro de servicio con Controles de Servicio de VPC.

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

Pub/Sub

Cifrado de datos: de forma predeterminada, Pub/Sub cifra todos los mensajes, tanto en reposo como en tránsito, mediante Google-owned and Google-managed encryption keys. Pub/Sub admite el uso de CMEKs para cifrar mensajes en la capa de aplicación. Para obtener más información, consulta Configurar el cifrado de mensajes.

Residencia de datos: si tienes requisitos de residencia de datos, puedes configurar políticas de almacenamiento de mensajes para asegurarte de que los datos de los mensajes se almacenan en ubicaciones específicas.

Cloud Logging

Auditoría de la actividad administrativa: el registro de la actividad administrativa está habilitado de forma predeterminada en todos los Google Cloud servicios que se usan en esta arquitectura de referencia. Puedes acceder a los registros a través de Cloud Logging y usarlos para monitorizar las llamadas a la API u 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 en BigQuery. En el caso de los demás servicios que se usan en esta arquitectura, puedes habilitar los registros de auditoría de acceso a los datos. Puedes usar estos registros para monitorizar lo siguiente:

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

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

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

Todos los productos de la arquitectura

Mitigar el riesgo de filtración externa de datos: para reducir el riesgo de filtración externa de datos, crea un perímetro de Controles de Servicio de VPC alrededor de la infraestructura. Controles de Servicio de VPC es compatible con 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 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 el artículo Buscar recomendaciones en el centro de recomendaciones.

Control de acceso: sigue el principio de mínimos accesos en todos los servicios en la nube.

Para obtener directrices generales sobre la seguridad de las implementaciones de IA y aprendizaje automático enGoogle Cloud, consulta los siguientes recursos:

Fiabilidad

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

Producto Consideraciones y recomendaciones de diseño
Vector Search

Escalado de consultas: para asegurarse de que el índice de búsqueda vectorial pueda gestionar los aumentos de carga de consultas, puede configurar el escalado automático del endpoint del índice. Cuando aumenta la carga de consultas, el número de nodos se incrementa automáticamente hasta el máximo que especifiques. Para obtener más información, consulta Habilitar el escalado 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 de una región. El tráfico se balancea de carga automáticamente entre las zonas. Si se produce una interrupción en una zona, Cloud Run sigue funcionando y no se pierden datos. Si se produce una interrupción en una región, Cloud Run dejará de funcionar hasta que Google resuelva el problema.

Cloud Storage Disponibilidad de los datos: puedes crear segmentos de Cloud Storage en uno de estos tres tipos de ubicación: regional, birregional o multirregional. Los datos almacenados en segmentos regionales se replican de forma síncrona en varias zonas de una región. Para disfrutar de una mayor disponibilidad, puedes usar segmentos birregionales o multirregionales, en los que los datos se replican de forma asíncrona en varias regiones.
Pub/Sub

Control de la frecuencia: para evitar errores durante los periodos de picos transitorios en el tráfico de mensajes, puedes limitar la frecuencia de las solicitudes de publicación configurando el control de flujo en los ajustes del editor.

Gestión de errores: para gestionar los intentos de publicación fallidos, ajusta las variables de reintento de la solicitud según sea necesario. Para obtener más información, consulta Reintentar solicitudes.

BigQuery Robustez ante interrupciones de la infraestructura: los datos que carga en BigQuery se almacenan de forma síncrona en dos zonas de la región que especifique. Esta redundancia ayuda a asegurarse de que no se pierdan los datos cuando se produzca una interrupción en una zona. Para obtener más información sobre las funciones de fiabilidad de BigQuery, consulta Información sobre la fiabilidad.
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 Active Assist para obtener recomendaciones que te ayuden a optimizar aún más la fiabilidad 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 el artículo Buscar recomendaciones en el centro de recomendaciones.

Para consultar los principios y las recomendaciones de fiabilidad específicos de las cargas de trabajo de IA y aprendizaje automático, consulta el artículo Perspectiva de la fiabilidad de la IA y el aprendizaje automático del framework Well-Architected.

Optimización de costes

En esta sección se ofrecen directrices para optimizar el coste de configurar y operar una Google Cloud topología que se cree con esta arquitectura de referencia.

Producto Consideraciones y recomendaciones de diseño
Vector Search

La facturación de Vector Search depende del tamaño de tu índice, de las consultas por segundo (CPS) y del número y el tipo de máquina de los nodos que utilices para el endpoint del índice. En el caso de las cargas de trabajo con un nivel de consultas por segundo (CPS) elevado, organizar las consultas por lotes puede ayudar a reducir los costes. Para obtener información sobre cómo estimar el coste de Vector Search, consulta los ejemplos de precios de Vector Search.

Para mejorar la utilización de los nodos de cálculo en los que se implementa el índice de búsqueda vectorial, puedes configurar el autoescalado del endpoint del índice. Cuando la demanda es baja, el número de nodos se reduce automáticamente al mínimo que especifiques. Para obtener más información, consulta Habilitar el escalado automático.

Cloud Run

Cuando creas servicios de Cloud Run, especificas la cantidad de memoria y CPU que se asignará a la instancia de contenedor. Para controlar los costes, empieza con las asignaciones de CPU y memoria predeterminadas (mínimas). Para mejorar el rendimiento, puedes aumentar la asignación configurando el 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 servicios de Cloud Run, puedes ahorrar dinero obteniendo descuentos por uso comprometido. Para obtener más información, consulta la página sobre los descuentos por compromiso de uso de Cloud Run.

Cloud Storage En el segmento de Cloud Storage que uses para cargar datos en el subsistema de ingestión 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 costes de almacenamiento, puedes elegir la clase Estándar y usar la gestión del ciclo de vida de los objetos. De esta forma, se habilita la degradación automática de los objetos a una clase de almacenamiento de menor coste o la eliminación de objetos en función de las condiciones que definas.
Cloud Logging

Para controlar el coste de almacenar registros, puedes hacer lo siguiente:

  • Reduce el volumen de registros excluyendo o filtrando las entradas de registro innecesarias. Para obtener más información, consulta Filtros de exclusión.
  • Reduzca el periodo durante el que se conservan las entradas de registro. Para obtener más información, consulta Configurar la conservación personalizada.
BigQuery BigQuery te permite estimar el coste de las consultas antes de ejecutarlas. Para optimizar los costes de las consultas, debe optimizar el almacenamiento y las operaciones de computación de las consultas. Para obtener más información, consulta Estimar y controlar los costes.
Todos los productos de la arquitectura Una vez que hayas implementado tu aplicación en Google Cloud, usa el servicio Active Assist para obtener recomendaciones que te ayuden a optimizar aún más el coste 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 el artículo Buscar recomendaciones en el centro de recomendaciones.

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

Para consultar los principios y las recomendaciones de optimización de costes específicos de las cargas de trabajo de IA y aprendizaje automático, consulta el artículo Perspectiva de IA y aprendizaje automático: optimización de costes del framework Well-Architected.

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 los requisitos de rendimiento de sus cargas de trabajo.

Producto Consideraciones y recomendaciones de diseño
Vector Search

Cuando crees el índice, define el tamaño del fragmento, el tipo de medida de distancia y el número de inserciones de cada nodo hoja en función de tus requisitos de rendimiento. Por ejemplo, si tu aplicación es extremadamente sensible a la variabilidad de la latencia, te recomendamos que uses un tamaño de fragmento grande. Para obtener más información, consulta Parámetros de configuración que influyen en el rendimiento.

Cuando configures la capacidad de computación de los nodos en los que se implementa el índice de búsqueda vectorial, ten en cuenta tus requisitos de rendimiento. Elige un tipo de máquina adecuado y define el número máximo de nodos en función de la carga de consultas que preveas. Para obtener más información, consulta Ajustes de implementación que afectan al rendimiento.

Configure los parámetros de consulta del índice de Vertex Search en función de sus requisitos de rendimiento, disponibilidad y coste de las consultas. Por ejemplo, el parámetro approximateNeighborsCount especifica el número de vecinos que se deben recuperar antes de que se realice la reordenación exacta. Disminuir el valor de este parámetro puede ayudar a reducir la latencia y el coste. Para obtener más información, consulte Ajustes de tiempo de consulta que afectan al rendimiento.

Un índice actualizado ayuda a mejorar la precisión de las respuestas generadas. Puedes actualizar tu índice de búsqueda vectorial mediante actualizaciones por lotes o en streaming. Las actualizaciones de streaming te permiten hacer consultas casi en tiempo real sobre los datos actualizados. Para obtener más información, consulta Actualizar y volver 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. En función de 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 asegurarte de que la latencia sea óptima incluso después de un periodo sin tráfico, puedes configurar un número mínimo de instancias. Cuando estas instancias están inactivas, la CPU y la memoria que se les asignan se facturan a un precio inferior.

Para obtener más información sobre cómo optimizar el rendimiento, consulta los consejos generales para el desarrollo en Cloud Run.

Cloud Storage Para subir archivos grandes, puedes usar un método llamado subidas compuestas paralelas. Con esta estrategia, el archivo grande se divide en fragmentos. Los fragmentos se suben a Cloud Storage en paralelo y, a continuación, los datos se recomponen en la nube. Cuando el ancho de banda de la red y la velocidad del disco no son factores limitantes, las subidas compuestas paralelas pueden ser más rápidas que las operaciones de subida normales. Sin embargo, esta estrategia tiene algunas limitaciones y consecuencias económicas. Para obtener más información, consulta Subidas 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 sobre problemas como la contención de ranuras y la cuota de aleatorización insuficiente. Para obtener más información, consulta Obtener estadísticas de rendimiento de las consultas.

Una vez que hayas solucionado los problemas que hayas identificado con las estadísticas de rendimiento de las consultas, puedes optimizar aún más las consultas usando técnicas como la reducción del volumen de datos de entrada y salida. Para obtener más información, consulta Optimizar las operaciones de computación de las consultas.

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 ayuden a 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 el artículo Buscar recomendaciones en el centro de recomendaciones.

Para consultar los principios y las recomendaciones de optimización del rendimiento específicos de las cargas de trabajo de IA y aprendizaje automático, consulte el artículo Perspectiva de la IA y el aprendizaje automático: optimización del rendimiento del marco de trabajo Well-Architected.

Implementación

Para desplegar una topología basada en esta arquitectura de referencia, puedes descargar y usar la configuración de muestra de Terraform que está disponible en un repositorio de GitHub. Sigue las instrucciones del archivo README del repositorio. El código de ejemplo no está pensado para casos prácticos de producción.

Siguientes pasos

Colaboradores

Autor: Kumar Dhanagopal | Desarrollador de soluciones multiproducto

Otros colaboradores:

  • Assaf Namer | Arquitecto principal de seguridad en la nube
  • Deepak Michael | Ingeniero de clientes especialista en redes
  • Divam Anand | Responsable de estrategia y operaciones de producto
  • Eran Lewis | Responsable de producto sénior
  • Jerome Simms | Director de Gestión de Productos
  • Katie McLaughlin | Ingeniera sénior de relaciones con desarrolladores
  • Mark Schlagenhauf | Redactor técnico de redes
  • Megan O'Keefe | Directora de Competencia de la Industria, Equipo de Evaluaciones de Cloud Platform
  • Nicholas McNamara | Principal de Estrategia de Producto y Comercialización
  • Preston Holmes | Gestor de producto saliente - Aceleración de aplicaciones
  • Rob Edwards | Responsable de la práctica de tecnología, DevOps
  • Victor Moreno | Product Manager, Cloud Networking
  • Wietse Venema | Ingeniero de relaciones con desarrolladores