Tutorial: Cómo crear un RAG con Google Gemini File Search y n8n
En este tutorial vamos a implementar un sistema RAG (Retrieval-Augmented Generation) utilizando la nueva capacidad nativa de Google Gemini: File Search.
12/1/20253 min read
Tutorial: Cómo crear un RAG con Google Gemini File Search y n8n
En este tutorial vamos a implementar un sistema RAG (Retrieval-Augmented Generation) utilizando la nueva capacidad nativa de Google Gemini: File Search.
¿PARA QUE 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-2.5-flash:generateContent.
El Payload (JSON): Le enviamos a Gemini el prompt del usuario y le indicamos explícitamente que use su herramienta fileSearch apuntando a nuestro fileSearchStore.
JSON:
{ "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.5 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 de almacenamiento en la nube de Google.
Comandos API Gemini
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.
Acceso a plantilla aquí 👉 PLANTILLA RAG












IvanVazquez.Dev
© 2025. Todos los derechos reservados