ML Engine Updates: - Updated BTCUSD with Polygon API data (2024-2025): 215,699 new records - Re-trained all ML models: Attention (R²: 0.223), Base, Metamodel (87.3% confidence) - Backtest results: +176.71R profit with aggressive_filter strategy Documentation Consolidation: - Created docs/99-analisis/_MAP.md index with 13 new analysis documents - Consolidated inventories: removed duplicates from orchestration/inventarios/ - Updated ML_INVENTORY.yml with BTCUSD metrics and training results - Added execution reports: FASE11-BTCUSD, correction issues, alignment validation Architecture & Integration: - Updated all module documentation with NEXUS v3.4 frontmatter - Fixed _MAP.md indexes across all folders - Updated orchestration plans and traces Files: 229 changed, 5064 insertions(+), 1872 deletions(-) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
170 lines
6.4 KiB
Markdown
170 lines
6.4 KiB
Markdown
---
|
|
id: "RF-LLM-001"
|
|
title: "Interfaz de Chat con LLM"
|
|
type: "Requirement"
|
|
status: "Done"
|
|
priority: "Alta"
|
|
epic: "OQI-007"
|
|
project: "trading-platform"
|
|
version: "1.0.0"
|
|
created_date: "2025-12-05"
|
|
updated_date: "2026-01-04"
|
|
---
|
|
|
|
# RF-LLM-001: Interfaz de Chat con LLM
|
|
|
|
**Épica:** OQI-007 - LLM Strategy Agent
|
|
**Versión:** 1.0
|
|
**Fecha:** 2025-12-05
|
|
**Estado:** Planificado
|
|
**Prioridad:** P0 - Crítico
|
|
|
|
---
|
|
|
|
## Descripción
|
|
|
|
El sistema debe proporcionar una interfaz de chat conversacional que permita a los usuarios interactuar con un agente LLM especializado en trading. El chat debe soportar streaming de respuestas, mantener contexto de conversación y permitir múltiples conversaciones.
|
|
|
|
---
|
|
|
|
## Requisitos Funcionales
|
|
|
|
### RF-LLM-001.1: Envío de Mensajes
|
|
- El usuario debe poder enviar mensajes de texto al agente LLM
|
|
- El sistema debe validar que el mensaje no esté vacío
|
|
- El sistema debe limitar la longitud del mensaje según el plan del usuario
|
|
- El mensaje debe incluir contexto de mercado actual automáticamente
|
|
|
|
### RF-LLM-001.2: Streaming de Respuestas
|
|
- Las respuestas del LLM deben mostrarse en tiempo real (streaming)
|
|
- El usuario debe ver el texto aparecer palabra por palabra
|
|
- Debe existir indicador visual de que el agente está "pensando"
|
|
- El usuario debe poder cancelar una respuesta en progreso
|
|
|
|
### RF-LLM-001.3: Gestión de Conversaciones
|
|
- El usuario debe poder crear nuevas conversaciones
|
|
- El usuario debe poder ver historial de conversaciones anteriores
|
|
- El usuario debe poder eliminar conversaciones
|
|
- El usuario debe poder renombrar conversaciones
|
|
- Las conversaciones deben persistir entre sesiones
|
|
|
|
### RF-LLM-001.4: Contexto de Conversación
|
|
- El sistema debe mantener contexto de los últimos N mensajes
|
|
- El contexto debe incluir información de mercado relevante
|
|
- El contexto debe incluir posiciones/watchlist del usuario
|
|
- El sistema debe resumir conversaciones largas automáticamente
|
|
|
|
### RF-LLM-001.5: Feedback de Respuestas
|
|
- El usuario debe poder marcar respuestas como útiles/no útiles
|
|
- El usuario debe poder reportar respuestas incorrectas
|
|
- El sistema debe usar feedback para mejorar respuestas futuras
|
|
|
|
---
|
|
|
|
## Criterios de Aceptación
|
|
|
|
```gherkin
|
|
Feature: Chat Interface con LLM
|
|
|
|
Scenario: Enviar mensaje y recibir respuesta
|
|
Given estoy autenticado como usuario con plan Pro
|
|
And estoy en la página del Copilot
|
|
When escribo "¿Cuál es tu análisis de AAPL?" en el input
|
|
And presiono Enter o el botón enviar
|
|
Then veo mi mensaje en el chat
|
|
And veo indicador de "Analizando..."
|
|
And las palabras de la respuesta aparecen progresivamente
|
|
And la respuesta incluye análisis técnico de AAPL
|
|
|
|
Scenario: Crear nueva conversación
|
|
Given tengo una conversación activa con mensajes
|
|
When hago clic en "Nueva conversación"
|
|
Then se crea una nueva conversación vacía
|
|
And la conversación anterior se guarda en el historial
|
|
And puedo acceder a la conversación anterior
|
|
|
|
Scenario: Límite de mensajes por plan
|
|
Given soy usuario con plan Free
|
|
And he enviado 10 mensajes hoy
|
|
When intento enviar otro mensaje
|
|
Then veo mensaje "Has alcanzado el límite diario"
|
|
And veo opción para upgrade a plan Pro
|
|
```
|
|
|
|
---
|
|
|
|
## Reglas de Negocio
|
|
|
|
| Regla | Descripción |
|
|
|-------|-------------|
|
|
| RN-001 | Mensajes vacíos no se envían |
|
|
| RN-002 | Límite de caracteres: Free=500, Pro=2000, Premium=4000 |
|
|
| RN-003 | Límite diario: Free=10, Pro=100, Premium=ilimitado |
|
|
| RN-004 | Contexto máximo: últimos 20 mensajes |
|
|
| RN-005 | Conversaciones se auto-eliminan después de 90 días de inactividad |
|
|
| RN-006 | Respuestas con contenido financiero incluyen disclaimer |
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
### Épicas Requeridas
|
|
- **OQI-001:** Autenticación (usuarios autenticados)
|
|
|
|
### APIs Externas
|
|
- OpenAI GPT-4 / Claude API
|
|
- WebSocket para streaming
|
|
|
|
---
|
|
|
|
## Mockups/Wireframes
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────────────────┐
|
|
│ Trading Platform Copilot [Nueva] [⚙️] │
|
|
├─────────────────────────────────────────────────────────────┤
|
|
│ ┌─────────────┐ ┌─────────────────────────────────────────┐ │
|
|
│ │ Historial │ │ │ │
|
|
│ │ │ │ 🤖 ¡Hola! Soy tu asistente de trading. │ │
|
|
│ │ > Análisis │ │ ¿En qué puedo ayudarte hoy? │ │
|
|
│ │ AAPL │ │ │ │
|
|
│ │ │ │ 👤 ¿Cuál es tu análisis de AAPL? │ │
|
|
│ │ Estrategia│ │ │ │
|
|
│ │ BTC │ │ 🤖 Analizando AAPL... │ │
|
|
│ │ │ │ ████████░░ 80% │ │
|
|
│ │ Portfolio │ │ │ │
|
|
│ │ │ │ │ │
|
|
│ └─────────────┘ └─────────────────────────────────────────┘ │
|
|
├─────────────────────────────────────────────────────────────┤
|
|
│ [📎] Escribe tu mensaje... [Enviar] │
|
|
└─────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Especificaciones Técnicas Relacionadas
|
|
|
|
- [ET-LLM-001: Arquitectura del Chat](../especificaciones/ET-LLM-001-arquitectura-chat.md)
|
|
- [ET-LLM-005: Frontend Components](../especificaciones/ET-LLM-005-frontend.md)
|
|
|
|
---
|
|
|
|
## Historias de Usuario Relacionadas
|
|
|
|
- US-LLM-001: Enviar mensaje al copilot
|
|
- US-LLM-002: Ver historial de conversaciones
|
|
|
|
---
|
|
|
|
## Notas Técnicas
|
|
|
|
- Usar WebSocket para streaming bidireccional
|
|
- Implementar reconnection automática
|
|
- Cache de respuestas frecuentes
|
|
- Rate limiting por usuario
|
|
|
|
---
|
|
|
|
*Documento de requerimientos - Sistema NEXUS*
|
|
*Trading Platform*
|