5.8 KiB
Playground del RAG
Proyecto: Workspace de tools IA para empresas
Modulo: RAG
Ultima actualizacion: 2026-04-06
Ultima modificacion por: Agente tools IA para potenciar servicios empresariales
Estado: Implementado en codigo, pendiente de redeploy
Tecnologia elegida
Se ha elegido una interfaz web estatica simple, servida por el propio backend Express del RAG.
Por que esta opcion
- evita crear un segundo servicio independiente solo para pruebas
- no añade otro framework de frontend ni otro pipeline de build innecesario
- permite iterar rapido sobre el RAG real usando su propia API
- es suficiente para una herramienta interna de evaluacion y ajuste
Ubicacion dentro del modulo
El playground queda dentro de:
RAG/public/playground/
Archivos creados:
RAG/public/playground/index.htmlRAG/public/playground/app.jsRAG/public/playground/styles.css
El backend lo sirve desde:
/playground
Que permite probar
healthingestbootstrapchatcon contexto precargadoretrieveansweranswersin RAG para comparar impacto del contexto- seleccion explicita del modelo de
answer
Tambien permite:
- cambiar
mode - cambiar
intent - ajustar
scope - seleccionar el modelo de respuesta
- usar presets para docs, docs del modulo y codigo del RAG
- mostrar ayuda visual breve en la zona de bootstrap para explicar como usar
Cargar bootstrap,Reemplazar contexto,Vaciar contextoy los presets - ver un contador visible de logs recientes
- mostrar branding visual del servicio en la cabecera
Mecanica actual del playground
El playground ya no funciona como una sola caja de consulta tecnica. Ahora se organiza en tres pestañas:
Ingesta
- lanzar ingesta documental o de codigo
- subir archivos directamente desde el navegador
- definir un
sourceIdpropio para aislar una carga concreta
Bootstrap
- elegir scope
- elegir modo
- cargar un mapa inicial del dominio
- opcionalmente pedir a un modelo que sintetice ese bootstrap
- reemplazar o vaciar el contexto de sesion
- mostrar ayuda visible y tooltip en los botones principales para reducir confusiones de uso
Chat
- conversar con el modelo
- ver visualmente si hay contexto cargado o no
- reutilizar el ultimo bootstrap como contexto base
- permitir que el modelo haga consultas adicionales al RAG durante la conversacion
Indicador visual de contexto
En la pestaña Chat hay un indicador visual:
- rojo: no hay bootstrap cargado
- verde: hay contexto bootstrap activo
Tambien se muestra el scope actualmente cargado.
Aislamiento de scopes en ingesta
En la pestaña Ingesta ya se puede:
- indicar un
sourceIdpropio - subir un archivo local directamente
Esto permite probar documentos o PDFs que no tengan nada que ver con el RAG sin mezclarlos con el resto de scopes si eliges un identificador especifico para esa carga.
Ayuda visual en bootstrap
La zona de Bootstrap ya incluye:
- una ayuda breve siempre visible junto a los botones principales
- tooltip o texto alternativo en
Cargar bootstrap,Reemplazar contexto,Vaciar contexto,Preset docs,Preset RAG docsyPreset codigo
Objetivo:
- dejar claro que los presets solo preparan la configuracion
- evitar la confusion entre preparar un preset y cargar realmente el contexto en sesion
Chat con consultas adicionales al RAG
El chat ya soporta dos niveles:
- respuesta usando solo el bootstrap cargado
- respuesta usando bootstrap y, si se activa la opcion correspondiente, una consulta adicional al RAG durante la conversacion
Esto permite aproximar mejor el comportamiento esperado de una app o agente conectado al servicio.
Memoria operativa actual
El playground no usa una memoria persistente completa.
Su memoria actual es limitada y se compone de:
- el ultimo
bootstrapcargado - el historial reciente de mensajes de la sesion actual
- el contexto adicional recuperado si se activa esa opcion en el chat
El objetivo de esta memoria no es simular un asistente generalista, sino permitir probar de forma controlada como cambia el comportamiento del modelo al apoyarse en el RAG.
Regla de comportamiento del modelo en el playground
El modelo del playground debe comportarse como evaluador del RAG.
Eso significa:
- usar solo el contexto que proviene del RAG y del bootstrap cargado
- no completar respuestas con conocimiento general externo del modelo
- indicar con claridad cuando el RAG no aporta suficiente informacion
- servir para detectar limites, carencias y calidad del sistema
Logs de evaluacion
El playground ya soporta dos vias de logging:
log automatico
- cuando la respuesta o el contexto indican insuficiencia relevante
log manual
- cuando el usuario pulsa el boton para registrar la consulta actual
- puede añadir una nota explicativa propia
Los logs quedan guardados en Qdrant, por lo que no dependen del filesystem efimero del contenedor.
Aunque de momento el playground no tiene una pestaña dedicada solo a logs, si puede:
- registrar logs manuales
- mostrar logs recientes
- mostrar un contador visible de logs en cabecera para saber de un vistazo si el sistema esta generando incidencias o revisiones
Y estos logs ya quedan preparados para ser revisados despues por el usuario junto con este agente u otros agentes.
Idea de uso
Este playground no sustituye a clientes finales ni al futuro MCP.
Su papel es:
- probar rapido el comportamiento del RAG
- comparar respuesta con y sin RAG
- validar cambios en ingesta y retrieval
- detectar donde el sistema necesita ajustes
Relacion con MCP
En esta primera fase el playground usa la API HTTP del propio servicio.
Mas adelante se podra:
- mantener como herramienta interna de evaluacion
- o ampliarlo para probar tambien la capa MCP cuando exista