Doctia es un producto de Stackea Labs. Nació como el lab de RAG con citas obligatorias: este es el resultado.
El problema
El conocimiento de una empresa vive en documentos: políticas, contratos, manuales, procedimientos. Encontrar una respuesta exige saber en qué archivo está, y nadie lo sabe. Un chatbot genérico parece la solución hasta que inventa una política de vacaciones con total seguridad, o le cuenta a un vendedor el monto de un contrato que solo debía ver Finanzas.
Los dos fallos son el mismo: un modelo que responde sin estar obligado a demostrar de dónde lo sacó, y que lee todo antes de preguntar quién está preguntando.
Lo que construí
- Cada respuesta cita su fuente, o dice que no sabe. Si los documentos no lo dicen, Doctia lo dice. No completa con lo que «suena razonable».
- Los permisos se aplican en la base de datos, antes del modelo. La búsqueda ya viene filtrada por lo que la persona puede ver: el modelo nunca lee un documento que el usuario no podría abrir.
- Las acciones con riesgo esperan a una persona. Enviar un correo o abrir un ticket queda en una bandeja de aprobación; nada sale sin que alguien lo apruebe, y todo queda auditado.
- Búsqueda híbrida. Vectores y palabras clave combinados, para encontrar tanto «¿cuántos días de vacaciones tengo?» como «CT-2026-0457».
- Vencimientos de contratos, un panel para gerencia, plantillas por industria y un diagnóstico exprés que mide qué tan bien cubren los documentos las preguntas típicas del rubro.
- Varias empresas, cada una aislada, en su propio subdominio.
Lo que separa a Doctia de un chatbot no es el modelo: es lo que el sistema no le deja hacer. No le deja leer lo que el usuario no puede ver, no le deja responder sin fuente y no le deja actuar sin permiso.
Cómo está hecho
Python con FastAPI y el agente en LangGraph, con su estado guardado en PostgreSQL. Las respuestas las escribe Claude y los embeddings los genera Voyage AI; todo vive en PostgreSQL 16 con pgvector, filtrado por permisos en la misma consulta SQL que busca. Corre en Docker, con 66 pruebas que incluyen intentos de inyección de instrucciones escondidos dentro de los documentos.
Estado hoy
Una demo funcional con empresas ficticias —todas las capturas son de datos inventados—. Se construyó en trece lecciones, como proyecto para entender RAG a fondo y no solo usarlo, y hoy es un producto de Stackea Labs.
Lo que aprendí
Que en RAG la parte difícil no es la IA. Es decidir qué tiene permitido ver el modelo y qué cuenta como respuesta. Con esas dos reglas resueltas en la base de datos y en el prompt, el modelo pasa a ser la pieza más fácil de cambiar.


