Cómo funciona una Solución Generativa desde el enfoque arquitectónico RAG.

En este articulo revisaremos del cómo funciona una Solución Generativa desde el enfoque arquitectónico bajo el patrón RAG; además, detallaremos y revisaremos los principales componentes a considerar. Desde el enfoque arquitectónico una solución de IA Generativa (GenAI) moderna, se diferencia de las aplicaciones tradicionales porque no solo procesa datos, sino que "razona" y genera contenido nuevo, para que esto sea eficiente y preciso, la arquitectura suele basarse en el patrón RAG (Retrieval-Augmented Generation) o también mencionado como Generación Aumentada por Recuperación, es importante entender y conocer el flujo base y componentes arquitectonicos para una solución generativa contemplando el patrón RAG. 

1. ¿Cómo funciona una Solución Generativa desde el flujo arquitectónico base bajo el patrón RAG?

Las soluciones generativas desde el enfoque arquitectónico contemplan un flujo base cíclico donde la consulta del usuario se enriquece con datos externos antes de llegar al modelo de lenguaje grande (LLM) como Gimini u otro, es decir, una solución generativa bajo el patrón de Generación Aumentada por Recuperación (RAG) funciona como una arquitectura de tres fases principales que conecta un Modelo de Lenguaje Grande (LLM) con fuentes de datos externas y actualizadas, con el objetivo de mejorar la precisión y relevancia de las respuestas, reduciendo alucinaciones al "fundamentar" la respuesta en datos propietarios o recientes.El flujo arquitectónico se divide en 3:

  1. Ingesta/Indexación (Preparación de Datos): Los documentos se fragmentan y se convierten en vectores.
  2. Recuperación (Retrieval): Se buscan los fragmentos más relevantes según la duda del usuario.
  3. Generación Aumentada (Generation): El modelo (LLM) recibe la pregunta + el contexto y genera la respuesta.




2. ¿Cuáles son los componentes principales a considerar desde el enfoque Arquitectónico para una Solución Generativa (IA Generativa)?

Es importante conocer los principales componentes a considerar con el fin de diseñar una Arquitectura que contemplete todos los componentes necesarios para una Solución Generativa (IA Generativa).

A. Interfaz de Usuario y Orquestador

Es la capa superior que gestiona la lógica del negocio.

  • API / Frontend: Donde el usuario interactúa.
  • Framework de Orquestación: (Ej. LangChain, LlamaIndex). Es el "pegamento" que conecta al usuario con el modelo y la base de datos. Gestiona la memoria de la conversación y el encadenamiento de tareas.

B. Embedding Model (Modelo de Incrustación)

Antes de guardar o buscar información, el texto debe traducirse al lenguaje de las máquinas.

  • Función: Convierte texto no estructurado en vectores numéricos (listas de números) que representan conceptos semánticos.
  • Importancia: Permite que el sistema entienda que "perro" y "canino" son conceptos similares, aunque sean palabras distintas.

C. Vector Database (Base de Datos Vectorial)

A diferencia de SQL, estas bases de datos están optimizadas para buscar por "proximidad".

  • Función: Almacena los vectores generados por el modelo de embedding.
  • Componente Crítico: Realiza una Búsqueda de Similitud de Coseno para encontrar la información más relevante en milisegundos. Ejemplos: Pinecone, Weaviate, o extensiones como pgvector.

D. LLM (Large Language Model)

Es el motor de razonamiento de la aplicación.

  • Función: Recibe un "Prompt" (instrucción) que contiene la pregunta del usuario y la información recuperada de la base de datos vectorial.
  • Modelos comunes: GPT-4, Claude, Gemini o modelos open-source como Llama 3.

E. Prompt de Sistema (Contexto y Reglas)

Es la instrucción invisible que define el comportamiento de la solución.

  • Función: Establece el rol (ej. "Eres un asistente médico"), el tono y las restricciones (ej. "No respondas sobre política").



3. Vista desde el enfoque arquitectónico basado en capas y servicios de GCP.

Es importante considerar la infraestructura tecnológica que se pretende aplicar para una solución generativa. Desde el enfoque arquitectónico los componentes principales mencionado en el puntos 2 ahora serán capas a nivel de contexto y componentes a nivel servicios de GCP 

La infraestructura muchas veces depende de la organización y según el caso de negocio.

3.1. Diagrama de Contexto de Solución Generativa (IA Gegenerativa)



3.2. Arquitectura de Solución Generativa (IA Gegenerativa) Aplicando RAG en GCP Gemini.

Al implementar esta arquitectura en Google Cloud Platform (GCP), los componentes se materializan en servicios escalables como:
  • Orquestación: Cloud Run o GKE gestionan la lógica.
  • Procesamiento: Vertex AI Embeddings genera los vectores.
  • Datos: Vertex AI Vector Search actúa como la base de datos vectorial de alto rendimiento.
  • Modelos: Gemini (vía Vertex AI) funciona como el motor de razonamiento.
  • Gobernanza: Se integran capas transversales de Seguridad (IAM, VPC) y Observabilidad (Cloud Monitoring) para garantizar un entorno empresarial robusto, permitiendo que la solución sea segura, medible y altamente eficiente.



El diagrama visual de arquitectura en capas (blueprint) representa la solución RAG en GCP con Gemini. El diseño contempla desde la interfaz de usuario protegida por IAP y Cloud Armor, pasando por la orquestación en Cloud Run/GKE, el procesamiento semántico con Vertex AI Embeddings, el almacenamiento vectorial en Vertex AI Vector Search, hasta la generación final con Gemini. También incluye la ingesta de datos y las capas transversales de seguridad y observabilidad.

Este blueprint te servirá como referencia para comunicar la arquitectura a equipos técnicos y de negocio, mostrando cómo cada servicio de GCP se integra en el flujo RAG.

3.3. Lista de servicios de GCP a considerar en la arquitectura.



4. Resumen

Desde un enfoque arquitectónico, una Solución Generativa (IA Generativa) moderna opera bajo el patrón RAG (Retrieval-Augmented Generation), el cual optimiza la precisión del modelo al conectarlo con fuentes de datos externas. El flujo comienza con la ingesta, donde la información no estructurada se fragmenta y transforma en vectores semánticos mediante un Embedding Model.

En la etapa de recuperación, el orquestador (como LangChain) recibe la consulta del usuario, la vectoriza y busca coincidencias en una Vector Database. Finalmente, en la generación, el LLM recibe un prompt enriquecido que combina la pregunta original con el contexto recuperado, produciendo una respuesta precisa y fundamentada.

Publicar un comentario

0 Comentarios