rag-service/RAG/docs/LOGS_EVALUACION.md

129 lines
2.5 KiB
Markdown

# Logs de evaluacion 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
---
## Donde se guardan
Los logs de evaluacion se guardan en `Qdrant`.
Coleccion usada:
```text
rag_eval_logs
```
Se eligio `Qdrant` porque:
- ya forma parte de la infraestructura activa del RAG
- ofrece persistencia sin depender del filesystem efimero del contenedor
- permite busqueda semantica posterior sobre las consultas o incidencias registradas
---
## Estructura del log
Cada log guarda, como minimo:
- `id`
- `trigger`: `automatic` o `manual`
- `operation`: `retrieve`, `answer` o `chat`
- `reason`
- `query`
- `mode`
- `intent`
- `model`
- `note`
- `createdAt`
- `scope`
- `usedBootstrapContext`
- `usedAdditionalRetrieve`
- `responseSummary`
- `retrievedItemsCount`
- `chunkIds`
- `documentIds`
Y ahora tambien campos de seguimiento:
- `reviewStatus`: `pending`, `in_progress`, `resolved`, `ignored`
- `severity`: `low`, `medium`, `high`
- `reviewedAt`
- `reviewedBy`
- `resolutionNote`
- `fixReference`
- `supersedesLogId`
---
## Tipos de log
### 1. Automatico
Se genera cuando el sistema detecta que:
- el contexto recuperado es insuficiente
- la respuesta deja claro que no hay suficiente contexto
Objetivo:
- detectar huecos en ingesta, chunking, embeddings, retrieval o prompting
### 2. Manual
Se genera cuando el usuario lo pide explicitamente desde el playground o por API.
En este caso la nota siempre deja constancia de que fue:
```text
Log solicitado por el usuario.
```
Y si el usuario añade una nota, se concatena a ese texto base.
---
## Seguimiento del log
El sistema ya permite marcar cada log como:
- pendiente
- en progreso
- resuelto
- ignorado
Y asociarle:
- quien lo reviso
- nota de resolucion
- referencia al fix o commit
Esto permite saber:
- que logs ya se han considerado
- cuales siguen pendientes
- cuales quedaron resueltos por una mejora concreta
- cuales se decidio ignorar conscientemente
---
## Endpoints relacionados
- `GET /logs/recent`
- `POST /logs/manual`
- `PATCH /logs/:id`
---
## Uso previsto
Estos logs estan pensados para que el usuario, este agente u otros agentes puedan revisarlos juntos y decidir mejoras del RAG de forma mas fiable.
No sustituyen una evaluacion formal completa, pero si dan una base practica para:
- detectar limitaciones reales
- priorizar correcciones
- vincular mejoras con incidencias concretas