workspace/projects/trading-platform/SERVICES.md
rckrdmrd ea1879f4ad feat: Initial workspace structure with multi-level Git configuration
- Configure workspace Git repository with comprehensive .gitignore
- Add Odoo as submodule for ERP reference code
- Include documentation: SETUP.md, GIT-STRUCTURE.md
- Add gitignore templates for projects (backend, frontend, database)
- Structure supports independent repos per project/subproject level

Workspace includes:
- core/ - Reusable patterns, modules, orchestration system
- projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.)
- knowledge-base/ - Reference code and patterns (includes Odoo submodule)
- devtools/ - Development tools and templates
- customers/ - Client implementations template

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 10:44:23 -06:00

276 lines
12 KiB
Markdown

# OrbiQuant IA - Services Architecture
## Servicios Principales
### Puertos de Desarrollo
| Servicio | Puerto | Descripción |
|----------|--------|-------------|
| Frontend | 5173 | React + Vite |
| Backend | 3000 | Express.js API |
| ML Engine | 8001 | FastAPI - Señales ML |
| Data Service | 8002 | FastAPI - Datos de mercado |
| LLM Agent | 8003 | FastAPI - Copiloto IA |
| Trading Agents | 8004 | FastAPI - Atlas/Orion/Nova |
| PostgreSQL | 5432 | Base de datos |
| Redis | 6379 | Cache y pub/sub |
| Ollama | 11434 | LLM local |
| Ollama WebUI | 3001 | UI para testing LLM |
---
## Arquitectura de Comunicación
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ FRONTEND (5173) │
│ React + TailwindCSS │
└────────────────┬────────────────┬────────────────┬──────────────────────────┘
│ │ │
▼ ▼ ▼
┌────────────────────┐ ┌─────────────────┐ ┌─────────────────────────────────┐
│ BACKEND (3000) │ │ LLM AGENT (8003)│ │ DATA SERVICE (8002) │
│ Express.js │ │ FastAPI │ │ FastAPI │
│ - Auth │ │ - Chat │ │ - Precios real-time │
│ - Users │ │ - Análisis │ │ - Históricos │
│ - Investment │ │ - Estrategias │ │ - WebSocket feeds │
│ - Payments │ │ - Trading Tools│ │ │
└─────────┬──────────┘ └────────┬────────┘ └─────────────────────────────────┘
│ │
│ │
▼ ▼
┌──────────────────────────────────────────────────────────────────────────────┐
│ ML ENGINE (8001) │
│ FastAPI │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────────┐ │
│ │ AMDDetector │ │ RangePredictor │ │ TPSLClassifier │ │
│ │ (fases mercado)│ │ (ΔHigh/ΔLow) │ │ (TP vs SL prob) │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────────┘ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────────┐ │
│ │ SignalGenerator │ │ Backtesting │ │ Walk-Forward Training │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────────┘ │
└──────────────────────────────────┬───────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────────────┐
│ TRADING AGENTS (8004) │
│ FastAPI │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────────────────────┐ │
│ │ ATLAS │ │ ORION │ │ NOVA │ │
│ │ Conservador │ │ Moderado │ │ Agresivo │ │
│ │ Mean Reversion │ │ Trend Following │ │ Momentum │ │
│ │ Grid Trading │ │ Breakouts │ │ Scalping │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ BINANCE CLIENT (Testnet/Mainnet) │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────────────┐
│ OLLAMA (11434) │
│ LLM Local con GPU │
│ ┌───────────────────────────────────────────────────────────────────────┐ │
│ │ Llama 3 8B (RTX 5060 Ti) │ │
│ └───────────────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────────┘
```
---
## Flujo de Datos
### 1. Usuario solicita señal de trading
```
Frontend → LLM Agent → ML Engine → SignalGenerator
LLM Agent interpreta y responde en lenguaje natural
```
### 2. Trading automático
```
ML Engine (señales) → Trading Agents (filtros + estrategia) → Binance (ejecución)
Backend (registro) → PostgreSQL (persistencia)
```
### 3. Chat con copiloto
```
Frontend → LLM Agent → Ollama (Llama 3) → Tools (ML Engine, Backend, Data Service)
Respuesta enriquecida con datos reales
```
---
## URLs de Integración
### Desarrollo Local
```yaml
# Frontend (.env)
VITE_API_URL=http://localhost:3000
VITE_WS_URL=ws://localhost:3000
VITE_LLM_URL=http://localhost:8003
# Backend (.env)
ML_ENGINE_URL=http://localhost:8001
DATA_SERVICE_URL=http://localhost:8002
LLM_AGENT_URL=http://localhost:8003
TRADING_AGENTS_URL=http://localhost:8004
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/orbiquant
REDIS_URL=redis://localhost:6379
# ML Engine (.env)
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/orbiquant
REDIS_URL=redis://localhost:6379/0
# LLM Agent (.env)
LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
LLM_MODEL=llama3:8b
ML_ENGINE_URL=http://localhost:8001
BACKEND_URL=http://localhost:3000
DATA_SERVICE_URL=http://localhost:8002
# Trading Agents (.env)
ML_ENGINE_URL=http://localhost:8001
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/orbiquant
REDIS_URL=redis://localhost:6379/2
BINANCE_TESTNET=true
```
### Docker Compose
```yaml
# Dentro de la red Docker (orbiquant-network)
ML_ENGINE_URL=http://ml-engine:8000
LLM_AGENT_URL=http://llm-agent:8000
TRADING_AGENTS_URL=http://trading-agents:8000
OLLAMA_BASE_URL=http://ollama:11434
DATABASE_URL=postgresql://postgres:postgres@postgres:5432/orbiquant
REDIS_URL=redis://redis:6379
```
---
## Comandos de Inicio
### Desarrollo (Sin Docker)
```bash
# Terminal 1 - PostgreSQL y Redis
docker-compose -f docker-compose.dev.yml up postgres redis
# Terminal 2 - ML Engine
cd apps/ml-engine
source venv/bin/activate # o conda activate orbiquant-ml
uvicorn src.api.main:app --reload --port 8001
# Terminal 3 - LLM Agent + Ollama
docker-compose -f apps/llm-agent/docker-compose.ollama.yml up -d
cd apps/llm-agent
source venv/bin/activate
uvicorn src.main:app --reload --port 8003
# Terminal 4 - Trading Agents
cd apps/trading-agents
source venv/bin/activate
uvicorn src.api.main:app --reload --port 8004
# Terminal 5 - Backend
cd apps/backend
npm run dev
# Terminal 6 - Frontend
cd apps/frontend
npm run dev
```
### Producción (Docker Compose)
```bash
# Iniciar todos los servicios
docker-compose -f docker-compose.services.yml up -d
# Ver logs
docker-compose -f docker-compose.services.yml logs -f
# Detener
docker-compose -f docker-compose.services.yml down
```
---
## Health Checks
```bash
# ML Engine
curl http://localhost:8001/health
# LLM Agent
curl http://localhost:8003/health
# Trading Agents
curl http://localhost:8004/health
# Ollama
curl http://localhost:11434/api/tags
# Backend
curl http://localhost:3000/health
# Data Service
curl http://localhost:8002/health
```
---
## Recursos del Sistema
### GPU (RTX 5060 Ti - 16GB VRAM)
| Servicio | VRAM Usado | Notas |
|----------|------------|-------|
| Ollama (Llama 3 8B) | ~10GB | Modelo principal |
| XGBoost CUDA | ~2GB | Entrenamiento ML |
| Reserva | ~4GB | Otros procesos |
### Memoria RAM Recomendada
- Desarrollo: 16GB mínimo
- Producción: 32GB recomendado
### CPU
- 4 cores mínimo
- 8 cores recomendado para múltiples agentes
---
## Monitoreo
### Métricas Clave
1. **ML Engine**: Latencia de predicción, precisión de señales
2. **LLM Agent**: Tiempo de respuesta, tokens/segundo
3. **Trading Agents**: Win rate, drawdown, PnL
4. **Sistema**: CPU, RAM, GPU utilization
### Logs
```bash
# Ubicación de logs
apps/ml-engine/logs/
apps/llm-agent/logs/
apps/trading-agents/logs/
apps/backend/logs/
```
---
*Documentación de Servicios - OrbiQuant IA*
*Actualizado: 2025-12-07*