Introduccion
Retrieval Augmented Generation RAG es una de las formas mas potentes de hacer que los LLM sean realmente utiles al anclarlos en tus propios datos. En lugar de depender solo del preentrenamiento del modelo, RAG permite hacer preguntas sobre PDFs, documentos o bases de datos y obtener respuestas precisas y con contexto.
En esta guia vas a montar un pipeline RAG local con Ollama para ejecutarlo de forma privada en tu equipo, sin costos en la nube y con total control de la informacion.
Que es RAG
RAG es una tecnica que mejora los modelos de lenguaje grandes al permitirles consultar fuentes de conocimiento externas durante la generacion de respuestas. Imagina que, en lugar de depender solo de lo que el modelo aprendio, puede buscar en tu base de conocimiento como PDFs, notas o almacenes de datos y combinar lo recuperado con su capacidad de razonamiento.
Ejemplo rapido: si necesitas entender un manual de politicas de 120 paginas, puedes preguntar Cual es la politica de reembolso de viajes y un sistema RAG recuperara el fragmento correcto del PDF y generara una respuesta clara basada en ese contenido especifico.
RAG trabaja en dos fases clave
1 Fase de recuperacion de documentos
Los documentos se convierten en vectores numericos embeddings usando modelos especializados y se almacenan en bases de datos vectoriales optimizadas para busqueda por similitud como FAISS o ChromaDB. Cuando haces una pregunta, el sistema realiza busqueda semantica para encontrar los fragmentos mas relevantes usando metodos como similitud coseno u otras metricas de distancia.
2 Fase de generacion de respuestas
Los fragmentos recuperados se pasan como contexto a la plantilla de prompt del LLM. El modelo genera una respuesta fundamentada en tus documentos, combinando hechos recuperados con generacion de lenguaje natural.
Por que RAG local con Ollama
Privacidad y seguridad de datos: tus documentos nunca salen de tu equipo. Sin riesgos de enviar datos sensibles a terceros.
Eficiencia de costos: cero costes por llamadas a APIs. Ideal para experimentar, uso intensivo o ejecucion continua.
Experimentacion con modelos: puedes probar facilmente Llama 3.1, Mistral, CodeLlama y comparar cual se ajusta mejor a tu caso.
Capacidad offline: una vez descargados los modelos, no necesitas conexion a internet.
Ollama simplifica todo con una interfaz facil para ejecutar modelos open source optimizados en local con minima configuracion.
Configuracion del entorno
Descarga e instalacion de Ollama
Descarga Ollama desde su pagina oficial y tras instalarlo valida la version con el siguiente comando
ollama --version
Descarga de modelos necesarios
Antes de ejecutar el codigo, descarga el modelo de embeddings y el modelo de lenguaje
ollama pull nomic-embed-text
ollama pull llama3.1:latest
Verifica los modelos disponibles
ollama list
Inicia el servicio de Ollama para llamadas via API
ollama serve
Dependencias de Python
Asegurate de tener Python 3.9 o superior e instala estas librerias
llama-index-core
llama-index-embeddings-ollama
llama-index-llms-ollama
llama-index-vector-stores-chroma
chromadb
pypdf
Instalacion sugerida con archivo de requisitos
pip install -r requirements.txt
Que aporta cada libreria
llama-index-core: carga de documentos, indexado y orquestacion de consultas
llama-index-embeddings-ollama: embeddings con Ollama
llama-index-llms-ollama: LLM con Ollama
llama-index-vector-stores-chroma y chromadb: almacenamiento vectorial y busqueda por similitud
pypdf: lectura y extraccion de texto en PDFs
Implementacion completa RAG en local
Estructura de proyecto recomendada
project carpeta del proyecto
data coloca aqui tus archivos PDF
test_rag.py script principal de prueba
requirements.txt
Puntos clave del script
1 Inicializa el modelo de embeddings con nomic-embed-text y un timeout amplio para documentos grandes
2 Configura el LLM con llama3.1:latest, temperatura baja para respuestas mas factuales y timeout amplio
3 Usa Settings para fijar embed_model y llm de forma global
4 Carga de documentos con SimpleDirectoryReader desde la carpeta data y creacion del indice vectorial con VectorStoreIndex
5 Crea un query engine con similarity_top_k ajustable y response_mode compact para respuestas concisas
6 Prueba consultas como Resumir en 3 lineas y Temas principales para validar el funcionamiento end to end
Comandos y parametros utiles del script en formato legible
embed_model modelo nomic-embed-text request_timeout 300.0
llm modelo llama3.1:latest request_timeout 300.0 temperature 0.1
query_engine similarity_top_k 3 response_mode compact
Instrucciones de uso
1 Prepara tus documentos colocando los PDFs en la carpeta data
2 Ejecuta el script de prueba con python test_rag.py para verificar todo
3 Usa el query engine para hacer preguntas sobre tus documentos una vez valides la prueba
Pruebas incluidas
El script valida la carga de documentos, la creacion del indice vectorial, ejecuta consultas de ejemplo y muestra mensajes de exito o fallo de forma clara para diagnosticar problemas rapidamente.
Configuracion avanzada
Optimiza el tamaño de los fragmentos segun el tipo de documento
Settings.chunk_size 1024 valor por defecto adecuado
Settings.chunk_overlap 200 mantiene el contexto entre fragmentos
Ajusta la recuperacion semantica
similarity_top_k 5 para consultas complejas
response_mode tree_summarize para documentos largos
Consideraciones para produccion
Rendimiento: ajusta chunk_size, chunk_overlap y el umbral de similitud a tus documentos
Monitorizacion: registra patrones de consultas y calidad de respuestas para mejorar
Almacenamiento: ChromaDB rinde muy bien en la mayoria de casos; considera FAISS para conjuntos masivos
Seleccion de modelo: prueba alternativas para equilibrar velocidad, coste y precision
Acerca de Q2BSTUDIO
En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi, automatizacion de procesos, agentes IA e ia para empresas. Acompañamos a organizaciones que quieren innovar con software a medida y potenciar su competitividad con IA aplicada y ciberseguridad robusta. Si buscas un partner con experiencia real, descubre nuestro enfoque en inteligencia artificial en el enlace inteligencia artificial o conoce nuestra propuesta de desarrollo de aplicaciones multiplataforma en software a medida.
Beneficios clave para tu negocio
Aplicaciones a medida y software a medida que se integran con tus sistemas y flujos de trabajo
Arquitecturas RAG privadas para cumplir requisitos de compliance y proteger la propiedad intelectual
Servicios cloud aws y azure con buenas practicas de seguridad y coste optimizado
Ciberseguridad y pentesting continuo para prevenir brechas
Servicios inteligencia de negocio y power bi para acelerar la toma de decisiones
Agentes IA que automatizan procesos y mejoran la experiencia del cliente
Recursos adicionales sobre similitud
Para profundizar en la puntuacion de similitud y la similitud coseno consulta Similarity Score y cosine similarity.
Resumen y siguientes pasos
Con este setup de RAG local con Ollama puedes crear asistentes que respondan con precision usando tus documentos, manteniendo total privacidad y sin costes de API. Empieza por preparar tus PDFs, descargar los modelos, generar el indice y probar consultas. Cuando valides el MVP, evoluciona hacia configuraciones de produccion ajustando tamaños de fragmento, numero de pasajes recuperados, almacenamiento vectorial y el modelo de lenguaje. Si quieres acelerar la puesta en marcha o integrar RAG con tus sistemas y dashboards empresariales, nuestro equipo puede ayudarte a desplegar soluciones de ia para empresas, agentes IA y analitica con power bi de forma segura y escalable.