- 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>
276 lines
12 KiB
Markdown
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*
|