docs: update FASES_IMPLEMENTADAS.md with QWEN 3.6 AI Vehicle Fitment
- Added QWEN env vars section - Added completed QWEN fitment feature with architecture details - Documented retry logic, fuzzy matching, and fail-safe behavior
This commit is contained in:
@@ -100,6 +100,25 @@
|
||||
| **Cobertura templates POS** | ✅ 14/14 templates tienen chat widget |
|
||||
| **Dashboard público** | ✅ Chat público con voz completa (sin cámara) |
|
||||
|
||||
## QWEN 3.6 AI Vehicle Fitment (COMPLETADA)
|
||||
|
||||
| Componente | Archivo | Descripción |
|
||||
|------------|---------|-------------|
|
||||
| **Servicio QWEN** | `pos/services/qwen_fitment.py` | Consulta API OpenAI-compatible (`qwen3.6`) con part_number + name + brand; parsea JSON robusto (vehicles/confidence/notes); valida contra `model_year_engine` |
|
||||
| **Integración Inventario** | `pos/blueprints/inventory_bp.py` | `create_item()` llama QWEN después de TecDoc auto-match; inserta en `inventory_vehicle_compat` con `source='qwen_ai'` |
|
||||
| **UI** | `pos/static/js/inventory.js`, `pos/templates/inventory.html` | Toast muestra count de vehículos asignados por IA; tabla de compatibilidad muestra columna "Origen" |
|
||||
| **Retry / Fallback** | `qwen_fitment.py` | 3 reintentos ante respuesta vacía; fallback sin filtro de motor (descripciones de motor rara vez coinciden entre QWEN y TecDB); búsqueda parcial de modelo (`%Corolla%`) para nombres TecDoc |
|
||||
|
||||
**Flujo:**
|
||||
1. Usuario crea ítem de inventario (part_number, name, brand)
|
||||
2. TecDoc auto-match ejecuta primero (si hay coincidencia exacta)
|
||||
3. QWEN 3.6 recibe los datos y devuelve lista de vehículos compatibles en JSON
|
||||
4. Cada vehículo se busca en la DB maestra (fuzzy match por modelo, fallback sin motor)
|
||||
5. Los `model_year_engine_id` válidos se insertan en `inventory_vehicle_compat` con `source='qwen_ai'`
|
||||
6. Frontend muestra toast: "27 vehículo(s) asignado(s) por IA"
|
||||
|
||||
**Fail-safe:** Si QWEN no está configurado o la API falla, el ítem se crea normalmente; la asignación de vehículos se omite silenciosamente.
|
||||
|
||||
---
|
||||
|
||||
## Infraestructura Desplegada
|
||||
@@ -149,6 +168,11 @@ WHATSAPP_BRIDGE_KEY=
|
||||
# AI (opcional)
|
||||
OPENROUTER_API_KEY=
|
||||
|
||||
# QWEN AI Fitment (opcional)
|
||||
QWEN_API_URL=https://api.nan.builders/v1
|
||||
QWEN_API_KEY=
|
||||
QWEN_MODEL=qwen3.6
|
||||
|
||||
# Metabase (opcional)
|
||||
METABASE_DB_PASS=
|
||||
METABASE_URL=http://localhost:3000
|
||||
@@ -174,6 +198,7 @@ METABASE_URL=http://localhost:3000
|
||||
| — | **Dashboard in-app charts** | 2026-04-29 | `12989e3` |
|
||||
| — | **Stubs BNPL / ERP / WhatsApp Cloud / Supplier Portal** | 2026-04-29 | `2cfe4b3` |
|
||||
| — | **nexus-pos.service systemd** | 2026-04-29 | `c766571` |
|
||||
| — | **QWEN 3.6 AI Vehicle Fitment** | 2026-04-29 | `623c57b` |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user