Expediente del caso
RAG sobre documentación Odoo
- Periodo
- 2026-01 al 2026-01
- Estado
- completed
- Visibilidad
- private
- Stack
- Python, LangChain, Ollama, ChromaDB
Evidencias · ODOO-RAG
Métricas
- +18000 URLs procesadas
- 23 commits
Repositorio
- stack 100% local sin APIs externas
Expediente del caso
Motivación
Documentarse sobre Odoo obliga a saltar entre versiones y paginas sin tener una respuesta directa a preguntas concretas. La motivacion fue montar un sistema que respondiera en lenguaje natural usando la documentacion real, con todo el proceso local: sin depender de APIs externas ni enviar datos fuera de la maquina.
El reto
El reto era doble: conseguir un corpus fiable (el scraper tenia que recorrer decenas de miles de URLs de tres versiones sin morirse por rate limiting o caidas) y que las respuestas estuvieran fundadas en el contenido, no alucinadas.
Enfoque
Se construyo un scraper multi-version con rate limiting y checkpoints cada 50 URLs / 5 min, con tres modos de reanudacion (continuar, reiniciar, incremental) para recuperarse de caidas y procesar +18.000 URLs. El chunking usa `RecursiveCharacterTextSplitter`. El chat RAG responde en streaming con Ollama (llama3.1:8b) para embeddings y generacion, y ChromaDB persistente como almacen, con ejecucion desacoplable en background y monitoreo en tiempo real.
Aprendizaje
La resiliencia del scraper importa tanto como el modelo: los checkpoints convierten una caida en un contratiempo de minutos en lugar de perder todo el trabajo. Un stack 100% local evita problemas de privacidad y costes recurrentes, y hace el experimento reproducible sin credenciales.
Estado actual
Completado. El sistema proceso +18.000 URLs y quedo funcional como chat RAG local con streaming y monitoreo. El repositorio registra 23 commits y el stack completo es local, sin APIs externas.