Introducción
En esta lección aprenderás a construir una aplicación RAG completamente local que garantiza la privacidad total de tus datos. Esta solución es ideal cuando necesitas procesar información confidencial como documentos de contabilidad, contratos privados o cualquier contenido sensible que no quieres enviar a servicios externos.
¿Por qué usar una solución local?
- Privacidad Total: Tus datos nunca salen de tu computadora
- Sin Costos Recurrentes: No pagas por tokens o suscripciones
- Control Completo: Puedes personalizar cada aspecto de tu aplicación
- Flexibilidad: Compatible con múltiples modelos y configuraciones
Paso a Paso: Construyendo tu Chatbot RAG Local
1. Configuración Inicial en FlowWise
Comenzamos con un lienzo vacío en FlowWise:
- Presiona el botón «+» para agregar componentes
- Navega a Chains → Conversational Retrieval QA Chain
- Esta cadena será el núcleo de nuestro chatbot RAG
2. Configurando el Modelo de Chat con Ollama
¿Qué es Ollama? Ollama es una herramienta que te permite ejecutar modelos de lenguaje localmente en tu computadora de forma sencilla.
Configuración paso a paso:
- En FlowWise, agrega un Chat Model
- Busca y selecciona Chat Ollama
- Abre tu terminal y ejecuta:
ollama serve
- Verifica que Ollama esté corriendo en
http://localhost:11434
- Lista los modelos disponibles:
ollama list
Recomendación de modelo:
- Usa Llama 3.2 3B Instruct para un balance entre rendimiento y velocidad
- Copia el nombre exacto del modelo e insértalo en FlowWise
- Configura la temperatura a 0.9 para respuestas más creativas
3. Configurando el Almacén de Vectores
Para almacenar y buscar información de manera eficiente:
- Agrega Vector Stores → In Memory Vector Store
- Conecta el vector store a tu cadena principal
- Esta configuración mantendrá toda la información en memoria (completamente local)
4. Configurando Embeddings Locales
Los embeddings convierten texto en vectores numéricos para búsquedas semánticas:
Modelo recomendado: Nomic Embed Text
- En FlowWise, selecciona Embeddings → Ollama Embeddings
- Verifica que la URL sea correcta:
http://localhost:11434
- Instala el modelo de embeddings:
ollama pull nomic-embed-text
- Inserta el nombre del modelo:
nomic-embed-text
Ventajas del Nomic Embed Text:
- Solo 270 MB de tamaño
- Más de 33 millones de descargas
- Completamente gratuito
- Excelente rendimiento
5. Cargando tus Documentos
Para que el chatbot pueda responder sobre tus documentos:
- Agrega Document Loaders → Folder with Files
- Especifica la ruta de tu carpeta con documentos
- Acepta tipos de archivo como PDF, TXT, DOCX, etc.
Ejemplo práctico: Si tienes una carpeta con PDFs importantes (contratos, manuales, documentos legales), simplemente:
- Copia la ruta de la carpeta
- Pégala en el campo «Folder Path»
- El sistema procesará automáticamente todos los archivos
6. Configurando el Divisor de Texto
Para procesar documentos largos eficientemente:
- Agrega Text Splitters → Recursive Character Text Splitter
- Configura:
- Chunk Size: 1000 caracteres
- Chunk Overlap: 150 caracteres
¿Por qué estos números?
- 1000 caracteres mantiene contexto suficiente
- 150 de solapamiento evita cortar información importante
7. Procesando los Documentos
- Guarda tu configuración con un nombre descriptivo (ej: «RAG-Local-Ollama»)
- Presiona «Upsert» para procesar todos tus documentos
- El sistema dividirá y almacenará cada documento en chunks vectorizados
Probando tu Chatbot RAG Local
Prueba Básica
Haz una pregunta sobre el contenido de tus documentos. Por ejemplo:
- «¿Cuáles son los puntos principales del contrato?»
- «Resume el manual de usuario»
- «¿Qué políticas se mencionan en el documento?»
Prueba de Restricción
Haz una pregunta no relacionada con tus documentos:
- «¿Qué debería cenar hoy?»
El chatbot debería responder que no puede ayudar con esa pregunta porque no está en el contexto proporcionado.
Ventajas de esta Configuración
Seguridad y Privacidad
- Cero envío de datos externos: Todo permanece en tu computadora
- Sin riesgo de filtración: OpenAI u otros servicios nunca ven tus documentos
- Control total: Tú decides qué información procesar
Flexibilidad
- Múltiples modelos: Prueba diferentes modelos de Ollama
- Personalización: Modifica prompts y parámetros según tus necesidades
- Escalabilidad: Agrega tantos documentos como necesites
Costo-Efectividad
- Sin costos recurrentes: No pagas por tokens
- Solo recursos locales: Usa tu hardware existente
- Sin límites de uso: Úsalo tanto como quieras
Casos de Uso Prácticos
- Consultoría Legal: Procesa contratos y documentos legales confidenciales
- Contabilidad: Analiza estados financieros y reportes internos
- Investigación: Trabaja con papers y documentos académicos
- Documentación Técnica: Crea asistentes para manuales internos
- Análisis de Políticas: Procesa documentos corporativos sensibles
Consejos para Optimizar tu Setup
Rendimiento
- Usa SSDs para mejor velocidad de procesamiento
- Considera modelos más pequeños si tienes RAM limitada
- Ajusta el chunk size según el tipo de documentos
Precisión
- Experimenta con diferentes valores de temperatura
- Ajusta el solapamiento según la complejidad de tus documentos
- Considera usar múltiples modelos de embeddings para comparar resultados
Conclusión
Has aprendido a crear un sistema RAG completamente local que:
- Protege la privacidad de tus datos
- Funciona sin conexión a internet
- No tiene costos recurrentes
- Es completamente personalizable
Esta configuración es perfecta para organizaciones que manejan información sensible y necesitan mantener el control total sobre sus datos. En la próxima lección, exploraremos agentes más avanzados que pueden realizar múltiples tareas de forma autónoma.
Recursos Adicionales
- Modelos de Ollama: Explora diferentes modelos en ollama.ai
- FlowWise Documentation: Consulta la documentación oficial para configuraciones avanzadas
- Optimización de Hardware: Considera las especificaciones necesarias para diferentes modelos
Recuerda: Esta configuración local te da control total sobre tus datos mientras mantienes toda la potencia de un sistema RAG moderno.