diff --git a/RAG/docs/HISTORIAL_SESIONES.md b/RAG/docs/HISTORIAL_SESIONES.md new file mode 100644 index 0000000..f306ff2 --- /dev/null +++ b/RAG/docs/HISTORIAL_SESIONES.md @@ -0,0 +1,45 @@ +# Historial de sesiones + +**Proyecto:** Workspace de tools IA para empresas +**Modulo:** RAG +**Ultima actualizacion:** 2026-04-06 +**Ultima modificacion por:** Agente RAG 2 +**Estado:** Activo + +--- + +## Registro de sesion + +### 2026-04-06 - Agente RAG 2 + +**Modelo:** gpt-5.4 +**Conversation ID:** `N/D (OpenCode no lo expone en este entorno)` +**Session ID OpenCode:** `ses_29bdbd003ffeLrLjUlFgnp08Y7` +**Directorio:** `/home/pancho/Documentos/Empresa/Desarrollo/IA` + +**Rol asumido:** +Dar continuidad al RAG en `RAG/` a partir del estado actual documentado. + +**Contexto recuperado:** +- No existe `README` en la raiz de `RAG/`. +- La base documental principal revisada ha sido: + - `docs/SISTEMA_RAG_BASE.md` + - `docs/BITACORA_DISENO_RAG.md` + - `docs/METODOLOGIA_ITERACION_Y_REDEPLOY.md` + - `docs/PLAYGROUND.md` + - `docs/LOGS_EVALUACION.md` +- La v1 figura como operativa y desplegada en `https://rag.por-correo.com`. +- Endpoints documentados como operativos: `GET /health`, `POST /ingest`, `POST /retrieve`, `POST /answer`. +- El playground y los logs de evaluacion aparecen implementados en codigo y pendientes de redeploy segun la documentacion. + +**Criterio de continuidad asumido:** +- Trabajar desde el estado ya documentado, sin redescubrir decisiones nucleares de la v1. +- Mantener actualizada la documentacion relevante cuando se hagan cambios reales. +- Usar este historial para dejar trazabilidad entre sesiones y agentes. + +**Trabajo realizado en esta sesion:** +- Auditoria inicial de documentacion, codigo y estado observable del modulo `RAG/`. +- Registro de un reporte temporal de auditoria de modelo en `RAG/docs/TEMP_AUDITORIA_MODELO_PRE_CLEANUP.md` para comparacion futura. +- Implementacion de ayuda visual en la zona de `Bootstrap` del playground. +- Añadidos tooltip y `aria-label` en `Cargar bootstrap`, `Reemplazar contexto`, `Vaciar contexto`, `Preset docs`, `Preset RAG docs` y `Preset codigo`. +- Actualizacion de `RAG/docs/PLAYGROUND.md` y `RAG/docs/TEXTOS_AYUDA_PLAYGROUND.md` para reflejar la mejora. diff --git a/RAG/docs/PLAYGROUND.md b/RAG/docs/PLAYGROUND.md index b487d6d..2df35aa 100644 --- a/RAG/docs/PLAYGROUND.md +++ b/RAG/docs/PLAYGROUND.md @@ -61,6 +61,7 @@ Tambien permite: - 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 contexto` y los presets - ver un contador visible de logs recientes - mostrar branding visual del servicio en la cabecera @@ -81,6 +82,7 @@ El playground ya no funciona como una sola caja de consulta tecnica. Ahora se or - 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 3. `Chat` - conversar con el modelo @@ -106,6 +108,18 @@ En la pestaña `Ingesta` ya se puede: 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 docs` y `Preset 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: diff --git a/RAG/docs/TEMP_AUDITORIA_MODELO_PRE_CLEANUP.md b/RAG/docs/TEMP_AUDITORIA_MODELO_PRE_CLEANUP.md new file mode 100644 index 0000000..64bff01 --- /dev/null +++ b/RAG/docs/TEMP_AUDITORIA_MODELO_PRE_CLEANUP.md @@ -0,0 +1,90 @@ +# Auditoria temporal del modelo antes de cleanup + +**Proyecto:** Workspace de tools IA para empresas +**Modulo:** RAG +**Fecha:** 2026-04-06 +**Estado:** Temporal + +--- + +## Proposito + +Guardar el reporte generado por el modelo seleccionado en el playground al auditar el RAG usando `Preset codigo`, antes de implementar la funcion de limpieza y reingestar `RAG/src`. + +Este documento servira como linea base de comparacion. + +--- + +## Contexto de la prueba + +- La auditoria fue pedida desde el playground del RAG. +- Se uso `Preset codigo` para cargar contexto del codigo del proyecto. +- El contexto disponible correspondia a una version antigua respecto al estado actual del proyecto, pero aun asi se conserva el reporte para compararlo despues. +- Tras implementar la funcion de limpieza y reingestar `RAG/src`, se repetira la misma auditoria con el mismo modelo para contrastar resultados. + +--- + +## Reporte generado por el modelo + +Basándome en el contexto proporcionado, realizaré un análisis detallado de la solución RAG: + +🔍 Evaluación Arquitectónica + +Fortalezas Principales: +1. Diseño Modular y Flexible +- Separación clara de responsabilidades (Retrieve, Answer, Ingest Services) +- Soporte para múltiples modos: documental, código, automático +- Intenciones de recuperación flexibles (bootstrap, specific) + +2. Estrategia de Recuperación Inteligente +- Función `buildSpecificQueries()` genera consultas expandidas +- Capacidad de adaptar búsquedas según contexto de la pregunta +- Enriquecimiento semántico de consultas originales + +3. Gestión Avanzada de Contexto +- Construcción de prompt con metadatos detallados +- Inclusión de referencias a fuentes originales +- Seguimiento de líneas de código/documento + +Puntos Críticos de Diseño: +- Dependencia de servicios externos (OpenAI, Qdrant) +- Necesidad de configuración precisa de variables de entorno +- Complejidad en manejo de múltiples formatos + +🧠 Lógica de Funcionamiento + +Flujo RAG Implementado: +1. Normalización de consulta +2. Expansión semántica de consultas +3. Recuperación vectorial de fragmentos +4. Generación de respuesta con contexto limitado +5. Citación de fuentes originales + +Características Destacadas: +- Prompt engineering robusto +- Control estricto de generación (temperatura baja) +- Manejo explícito de casos de contexto insuficiente + +📊 Evaluación General como Solución RAG + +Calificación: 8/10 ⭐ + +Aspectos Positivos: ++ Alta modularidad ++ Flexibilidad de configuración ++ Estrategias avanzadas de recuperación ++ Control de generación de respuestas + +Áreas de Mejora: +- Optimizar rendimiento de consultas múltiples +- Implementar fallback más robusto +- Mejorar manejo de contextos muy extensos +- Añadir métricas de relevancia + +🚀 Recomendaciones: +1. Implementar evaluación automática de relevancia +2. Añadir caching inteligente de consultas +3. Desarrollar método de "self-reflection" para respuestas +4. Crear interfaz de configuración más amigable + +Conclusión: Es una implementación RAG sólida, con un diseño moderno que permite adaptación a diversos casos de uso, con un enfoque claro en precisión y control contextual. diff --git a/RAG/docs/TEXTOS_AYUDA_PLAYGROUND.md b/RAG/docs/TEXTOS_AYUDA_PLAYGROUND.md new file mode 100644 index 0000000..9cab59e --- /dev/null +++ b/RAG/docs/TEXTOS_AYUDA_PLAYGROUND.md @@ -0,0 +1,125 @@ +# Textos de ayuda para botones del playground + +**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 playground + +--- + +## Proposito + +Dejar definidos los textos exactos que deben usarse como ayuda breve y como texto alternativo o tooltip de los botones principales del playground. + +Este documento sirve como referencia para que otro agente implemente la ayuda visual sin tener que reinterpretar el comportamiento de cada accion. + +--- + +## Regla general de uso + +- `Preset docs`, `Preset RAG docs` y `Preset codigo` no cargan contexto por si solos. +- Esos botones solo preparan la configuracion recomendada. +- Despues de usar un preset, normalmente hay que pulsar `Cargar bootstrap` para que el contexto quede realmente cargado. +- `Reemplazar contexto` vuelve a cargar bootstrap y sustituye el contexto activo por el nuevo. +- `Vaciar contexto` borra el contexto actual y no necesita combinarse con ningun otro boton. + +--- + +## Botones y textos + +### 1. `Cargar bootstrap` + +**Funcion real:** +Ejecuta el bootstrap con la configuracion actual y carga un contexto inicial en la sesion. + +**Texto breve de ayuda:** +Carga el contexto inicial del scope seleccionado para que el chat pueda trabajar con una panoramica del contenido. + +**Texto ALT / tooltip sugerido:** +Ejecutar bootstrap y cargar contexto inicial + +--- + +### 2. `Reemplazar contexto` + +**Funcion real:** +Vuelve a ejecutar el bootstrap con la configuracion actual y sustituye el contexto activo. + +**Texto breve de ayuda:** +Recalcula el bootstrap y reemplaza el contexto cargado por uno nuevo usando la configuracion actual. + +**Texto ALT / tooltip sugerido:** +Reemplazar el contexto activo por un nuevo bootstrap + +--- + +### 3. `Vaciar contexto` + +**Funcion real:** +Elimina el bootstrap cargado de la sesion actual. + +**Texto breve de ayuda:** +Borra el contexto precargado de la sesion para probar el chat sin bootstrap. + +**Texto ALT / tooltip sugerido:** +Vaciar el contexto bootstrap activo + +--- + +### 4. `Preset docs` + +**Funcion real:** +Prepara la configuracion para trabajar con la documentacion global del workspace. + +**Texto breve de ayuda:** +Prepara el formulario para trabajar con la documentacion global del workspace. Despues pulsa `Cargar bootstrap` si quieres cargar ese contexto. + +**Texto ALT / tooltip sugerido:** +Aplicar preset para la documentacion global del workspace + +--- + +### 5. `Preset RAG docs` + +**Funcion real:** +Prepara la configuracion para trabajar con la documentacion del modulo RAG. + +**Texto breve de ayuda:** +Prepara el formulario para trabajar con la documentacion del modulo RAG. Despues pulsa `Cargar bootstrap` si quieres cargar ese contexto. + +**Texto ALT / tooltip sugerido:** +Aplicar preset para la documentacion del modulo RAG + +--- + +### 6. `Preset codigo` + +**Funcion real:** +Prepara la configuracion para trabajar con el codigo fuente del modulo RAG. + +**Texto breve de ayuda:** +Prepara el formulario para trabajar con el codigo del RAG en modo `codigo`. Despues pulsa `Cargar bootstrap` si quieres cargar ese contexto. + +**Texto ALT / tooltip sugerido:** +Aplicar preset para el codigo fuente del modulo RAG + +--- + +## Texto general de ayuda recomendado para la zona de bootstrap + +Texto sugerido: + +```text +Los presets solo preparan la configuracion recomendada. Para cargar realmente el contexto en la sesion debes pulsar `Cargar bootstrap`. Si ya hay un contexto activo y quieres sustituirlo, usa `Reemplazar contexto`. Si quieres eliminarlo por completo, usa `Vaciar contexto`. +``` + +--- + +## Nota para implementacion + +Lo ideal es que esta ayuda aparezca: + +- cerca de los botones de bootstrap +- con una frase breve siempre visible +- y con tooltip o texto ALT especifico en cada boton diff --git a/RAG/public/playground/index.html b/RAG/public/playground/index.html index cafbbb3..a114629 100644 --- a/RAG/public/playground/index.html +++ b/RAG/public/playground/index.html @@ -120,12 +120,52 @@ Usar un modelo para sintetizar el bootstrap recuperado
Los presets solo preparan la configuracion recomendada. Para cargar realmente el contexto en la sesion debes pulsar Cargar bootstrap. Si ya hay un contexto activo y quieres sustituirlo, usa Reemplazar contexto. Si quieres eliminarlo por completo, usa Vaciar contexto.
Cargar bootstrap: Carga el contexto inicial del scope seleccionado para que el chat pueda trabajar con una panoramica del contenido.
+Reemplazar contexto: Recalcula el bootstrap y reemplaza el contexto cargado por uno nuevo usando la configuracion actual.
+Vaciar contexto: Borra el contexto precargado de la sesion para probar el chat sin bootstrap.
+Preset docs: Prepara el formulario para trabajar con la documentacion global del workspace. Despues pulsa Cargar bootstrap si quieres cargar ese contexto.
Preset RAG docs: Prepara el formulario para trabajar con la documentacion del modulo RAG. Despues pulsa Cargar bootstrap si quieres cargar ese contexto.
Preset codigo: Prepara el formulario para trabajar con el codigo del RAG en modo codigo. Despues pulsa Cargar bootstrap si quieres cargar ese contexto.
Sin ejecutar aun.diff --git a/RAG/public/playground/styles.css b/RAG/public/playground/styles.css index d7a1bd2..37b35c2 100644 --- a/RAG/public/playground/styles.css +++ b/RAG/public/playground/styles.css @@ -189,6 +189,39 @@ button.secondary { align-items: center; } +.bootstrap-help { + margin: 16px 0 18px; + padding: 16px; + border: 1px solid var(--border); + border-radius: 16px; + background: #0b1020; +} + +.bootstrap-help-summary { + margin-bottom: 12px; +} + +.bootstrap-help-grid { + display: grid; + gap: 12px; + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.bootstrap-help-grid p { + margin: 0; + color: var(--muted); + font-size: 13px; + line-height: 1.45; +} + +.bootstrap-help-grid strong { + color: var(--text); +} + +.bootstrap-help code { + color: var(--accent); +} + .checkbox input { width: auto; } pre { @@ -259,6 +292,10 @@ pre { grid-template-columns: 1fr; } + .bootstrap-help-grid { + grid-template-columns: 1fr; + } + .hero { flex-direction: column; }