Cómo conectar un RAG a tu agente en Google Cloud

Resumen

Cuando quieres que tus agentes de IA entiendan el conocimiento guardado en tus archivos, sin gastar tokens infinitos en contexto, necesitas RAG en Google Cloud. Aquí aprenderás qué es un RAG, cómo funciona un embedding y cómo desplegar un corpus paso a paso conectado a tu agente. Ideal para quienes construyen agentes con Agent Engine y Vertex AI.

En la clase previa ya habíamos agregado herramientas a nuestros agentes para extender sus capacidades, normalmente funciones con contexto amplio o llamadas a APIs. Pero ¿qué pasa cuando ese contexto vive en muchos archivos distintos? Piénsalo así: tienes una carpeta de Drive o local con todo el conocimiento de tu compañía, ficheros con la misión, la visión o los proyectos que manejas. Ahí es donde entra el concepto de RAG.

Por qué necesitas un RAG en lugar de pegar todo el texto

Si lo hicieras de la forma tradicional, tendrías que convertir a texto cada fichero (videos, PDFs, DOCs) y pasarlo como contexto a cada agente. El problema es directo: el input se vuelve gigantesco y gastas muchísimos tokens solo para que el agente entienda el contexto antes de siquiera hablar con el usuario.

Para resolver esto nacen los RAG con sus embeddings, explicado alrededor del minuto [01:40]. Un RAG se basa en un embedding, que es el proceso de incluir conocimiento desde diferentes ficheros, sin importar su formato, en una representación que la inteligencia artificial entiende de forma más directa.

¿Qué es un embedding? Es un proceso que convierte el contenido de tus archivos, sin importar su formato, en una representación que la IA entiende directamente. Así tu agente consulta el conocimiento sin recibir todo el texto crudo.

La ventaja es clara: generas un compendio de mucha información que tus agentes consultan solo cuando lo requieren, sin quemar tokens en el contexto.

Qué APIs debo habilitar para construir RAG en Google Cloud

Google Cloud funciona enteramente por APIs, así que el primer paso siempre es habilitarlas. Para RAG necesitas dos, según se explica hacia el minuto [02:50]:

  • Vector Search API: la usa directamente RAG Engine, el menú donde desplegarás tu RAG.
  • Cloud Resource Manager API: permite que tus agentes entren a consumir los componentes de RAG.

Las habilitas entrando a APIs y servicios, luego al botón habilitar APIs y servicios, buscando cada una y dando clic en habilitar.

¿Y si te aparece un error? No te preocupes. Google te orientará paso a paso indicándote qué API falta. Analiza el error, busca el nombre de la API y habilítala. Vas a ver este tipo de mensajes todo el tiempo, y es normal.

Modo Spanner o modo sin servidores para RAG Engine

Dentro de RAG Engine hay una decisión importante sobre el modo de operación:

  • Modo sin servidores: mucho más ágil y con un costo mucho más bajo. Es el que se usa en esta demostración.
  • Modo Spanner: pensado para procesos de RAG mucho más complejos, con cientos de ficheros, donde necesitas que la generación del embedding sea más eficiente.

Para la mayoría de casos iniciales, el modo sin servidores es la opción sensata.

Cómo creo un corpus de conocimiento paso a paso

El corpus es el contenedor de tu conocimiento. Se genera desde el botón crear corpus, alrededor del minuto [04:30], y estos son los datos que defines:

  1. La región, en este caso US Central 1.
  2. Un nombre, como conocimiento de la compañía.
  3. Una descripción, como conocimiento general de nuestra compañía.
  4. Los datos que alimentan el RAG.

Esos datos puedes cargarlos desde varios orígenes: subida local, un bucket de Google Cloud Storage, Drive, o herramientas como Slack o SharePoint. En el ejemplo se sube un PDF local con la información de la compañía Acme: misión, visión, valores corporativos y sedes.

Existen opciones avanzadas para configurar cómo trabaja tu embedding, pero la configuración por default suele ser más que suficiente. Al terminar, entra a la pestaña detalles y copia el nombre del recurso, porque lo vas a necesitar en el código.

¿Desde dónde puedo cargar datos a un RAG? Puedes subir archivos locales, usar un bucket de Google Cloud Storage, conectar Drive, o integrar Slack y SharePoint. El formato del archivo no es una limitante gracias al embedding.

Cómo conecto el RAG a mi agente con una tool

Del lado de Google Cloud ya está todo listo. Ahora vuelves a tu agente en Agent Engine y creas un fichero llamado rag.py, cuyo contenido completo está en los recursos de la clase. La lógica básica se explica cerca del minuto [07:30].

python from vertexai import agent_platform

client = agent_platform.Client( location="us-central1", project="tu-project-id" )

def conocimiento_empresa_rag(query: str): try: response = rag_corpus.retrieve( corpus="NOMBRE_DEL_RECURSO_RAG", text=query ) return response except Exception: return "No se encontró información"

Algunos puntos que debes ajustar en tu código:

  • El identificador de proyecto, que es distinto para cada persona y lo copias desde la consola de Google Cloud.
  • La URL del RAG corpus, que es exactamente el nombre de recurso que copiaste en la pestaña detalles.
  • La descripción de la función, que le indica al agente que su tarea es consultar todo el conocimiento de la compañía.

El resto es un bloque try except que define cómo responder según exista o no información.

Qué configuro en requirements y en el agente primario

La librería de Agent Engine para RAG Engine necesita Pandas, así que lo agregas al requirements.txt y lo instalas en tu ambiente virtual de Python. Si no tienes el ambiente virtual, actívalo primero y corre la instalación.

Después vas al agente primario y, antes de los llamados a los subagentes, le entregas la nueva tool llamada conocimiento_empresa_rag. Recuerda escribir el import si no se generó automático y usar siempre comillas simples al listar herramientas. En las instrucciones del agente agregas una orden clave: lee siempre primero toda la información de la compañía usando conocimiento_empresa_rag.

Por qué mi agente necesita permisos IAM para leer el RAG

Aquí viene un detalle que suele causar errores. Todo agente dentro de Google Cloud actúa a nombre de una identidad, una cuenta de servicio que funciona como su identificador primario. Esto se explica alrededor del minuto [11:20].

El despliegue se hace con el mismo comando de siempre, agregando el parámetro Agent Engine ID, que copias desde el menú implementaciones. Importante: este despliegue no crea un agente nuevo, sino una nueva revisión del agente ya desplegado, en este caso la ACME Store.

Para que el agente pueda consultar el RAG a nivel de permisos, sigues estos pasos:

  1. Copia la cuenta de servicio desde la pestaña identidad del agente.
  2. Entra al menú IAM y activa el check de incluir asignaciones de roles de Google.
  3. Busca tu cuenta de servicio y edita sus permisos.
  4. Agrega el rol Agente de servicio de datos RAG de Vertex y guarda.

Siempre que asocies RAG Engine, ese será el permiso necesario. Y si en el futuro tu agente debe acceder a bases de datos u otros recursos, la asignación de permisos siempre pasa por el menú IAM.

Cómo compruebo que mi agente ya lee del RAG

Al finalizar el despliegue verás una revisión extra en el menú de revisiones, en lugar de una implementación nueva. Actualizas la classroom desplegada y le haces una pregunta que solo podría responder leyendo el RAG, por ejemplo: ¿cuál es la misión de la compañía?

Gracias a la instrucción de leer siempre el RAG como primera medida, el agente responde correctamente que la misión de la compañía es facilitar el acceso a la tecnología.

El concepto de RAG es ampliamente utilizado en la industria y Google lo hace bastante sencillo, aunque son muchos pasos y pueden aparecer errores en el camino. Si te topas con alguno, cuéntanos en los comentarios para poder apoyarte.