En este tutorial vamos a implementar un sistema RAG (Retrieval-Augmented Generation) utilizando la nueva capacidad nativa de Google Gemini: File Search.
¿Para qué sirve un RAG realmente?
Te lo explico con un ejemplo sencillo y visual, imagina que eres un estudiante. Seguro que al igual que yo has odiado memorizar sin sentido.👇
Comparativa RAG Google vs Tradicional
A diferencia de los sistemas tradicionales donde necesitas una base de datos vectorial externa (como Pinecone, Qdrant, Supabase ..), aquí Google se encarga de vectorizar, almacenar y recuperar la información por nosotros.
"Usaremos n8n para orquestar la subida de documentos y la consulta mediante un Agente AI"
La Lógica del Workflow
El sistema se divide en dos partes:
- Ingesta de Datos: Descarga un archivo, crea el "almacén" en Google y sube el documento.
- Agente de Consulta: Un chatbot que utiliza una herramienta personalizada para consultar esa base de conocimientos.
Fase 1: Ingesta y Vectorización (El Backend)
El objetivo de esta fase es tomar un documento (PDF, CSV, etc.) y dejarlo listo para que Gemini lo consuma.
1. Obtención del Archivo
En el workflow, usamos el nodo Google Drive (Download file).
- Técnico: Descargamos el archivo como binario.
- Nivel Usuario: n8n va a tu Drive, coge el archivo que quieres que la IA "lea" y lo guarda temporalmente en memoria.
2. Creación del "Store" (Almacén)
Usamos un nodo HTTP Request contra la API de Gemini
(POST /v1beta/fileSearchStores).
- Qué hace: Crea un contenedor lógico en los servidores de Google llamado
vector_db. Este será nuestro índice de búsqueda.
3. Subida y Vinculación
Aquí ocurre la magia de la API de Gemini mediante dos peticiones HTTP secuenciales:
- Upload: Subimos el binario a
upload/v1beta/files. Google nos devuelve un uri del archivo. - Import: Vinculamos ese archivo al "Store" que creamos antes.
Nota clave: El nodo Merge es vital aquí. Espera a que tengamos tanto el ID del Store creado como el Archivo descargado antes de proceder a la importación.
Fase 2: El Agente RAG (El Frontend)
Ahora que Google tiene nuestros datos indexados, configuramos el cerebro que responderá las preguntas.
1. El Agente Híbrido
En la plantilla tenemos una configuración interesante:
- Cerebro: OpenAI Chat Model (GPT-4o-mini).
- Herramienta: Google Gemini File Search.
- Explicación: Usas la capacidad de razonamiento de GPT para entender al usuario, pero la búsqueda de información se delega a la infraestructura de Google.
2. La Herramienta Personalizada (HTTP Request Tool)
Esta es la pieza más importante. Hemos creado una herramienta que el agente puede "llamar" cuando necesita información.
- Configuración: Es un nodo HTTP Request Tool que apunta a
models/gemini-1.5-flash:generateContent. - El Payload (JSON): Le enviamos a Gemini el prompt del usuario y le
indicamos explícitamente que use su herramienta
fileSearchapuntando a nuestrofileSearchStore.
{
"contents": [{
"parts": [{ "text": "$json.chatInput" }]
}],
"tools": [{
"fileSearch": {
"fileSearchStoreNames": ["fileSearchStores/TU_ID_DE_STORE"]
}
}]
}
Ventajas de este método
- Ventana de Contexto: Gemini 1.5/2.0 tiene una ventana de contexto masiva, ideal para procesar documentos enteros sin "trocearlos" (chunking) agresivamente.
- Sin Vector DB externa: Te ahorras gestionar y pagar servicios como Pinecone. Todo vive dentro de la API de Google.
- Gestión de Archivos: El workflow incluye nodos para Listar y Borrar archivos/stores, permitiéndote limpiar la base de datos y no acumular costes.
Conclusión
Con esta plantilla de n8n, has convertido un proceso complejo de ingeniería de datos (ETL + Vectorización + RAG) en un flujo visual simple.
Solo subes el archivo a Drive, ejecutas la carga una vez, y tu agente ya es un experto en ese documento.