erp-mecanicas-diesel-backen.../src/modules/ai/README.md
Adrian Flores Cortes e7b68b4558 [SYNC] Synchronize ai module from erp-core canonical
Source: erp-core (checksum: 39a6e229055a21158b63cc4eb4dd232f)
Priority: P0 - CRITICAL divergence resolution
Context: TASK-2026-01-25-SISTEMA-REUTILIZACION

Before: Diverged version with project-specific adaptations
After: Synced with canonical

Changes:
- Complete ai module synchronized from erp-core
- 24 TypeScript files updated
- Unified role-based AI configuration
- Consistent AI behavior across all ERP projects

Note: Project-specific role adaptations (if needed) can be
re-applied as documented extensions after this sync.

Benefits:
- Single source of truth for AI functionality
- Reduced maintenance burden
- Token savings from code reuse
- Consistent behavior baseline

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 06:36:16 -06:00

3.7 KiB

AI Module

Descripcion

Modulo de integracion con modelos de Inteligencia Artificial. Proporciona capacidades de chat conversacional, completions, embeddings y gestion de bases de conocimiento. Soporta multiples proveedores (OpenAI, Anthropic, Google, Azure) a traves de OpenRouter, con control de acceso basado en roles y gestion de cuotas por tenant.

Entidades

Entidad Schema Descripcion
AIModel ai.models Catalogo de modelos de IA disponibles (GPT-4, Claude, etc.) con configuracion de costos y capacidades
AIPrompt ai.prompts Templates de prompts versionados con variables y configuracion de modelo
AIConversation ai.conversations Conversaciones de chat con historial, contexto y estadisticas
AIMessage ai.messages Mensajes individuales dentro de una conversacion
AICompletion ai.completions Registros de completions individuales (no conversacionales)
AIEmbedding ai.embeddings Vectores de embeddings para busqueda semantica
AIKnowledgeBase ai.knowledge_base Articulos de conocimiento con embeddings para RAG
AIUsageLog ai.usage_logs Registro detallado de uso por request
AITenantQuota ai.tenant_quotas Cuotas mensuales de tokens, requests y costos por tenant

Servicios

Servicio Responsabilidades
AIService Servicio base: CRUD de modelos, prompts, conversaciones, mensajes; registro de uso; gestion de cuotas
RoleBasedAIService Extension con control de acceso basado en roles ERP; integracion con OpenRouter; ejecucion de tools

Endpoints

Method Path Descripcion
GET /models Lista todos los modelos activos
GET /models/:id Obtiene modelo por ID
GET /models/code/:code Obtiene modelo por codigo
GET /models/provider/:provider Lista modelos por proveedor
GET /models/type/:type Lista modelos por tipo (chat/embedding/etc)
GET /prompts Lista prompts del tenant
GET /prompts/:id Obtiene prompt por ID
GET /prompts/code/:code Obtiene prompt por codigo
POST /prompts Crea nuevo prompt
PATCH /prompts/:id Actualiza prompt existente
GET /conversations Lista conversaciones del tenant
GET /conversations/:id Obtiene conversacion con mensajes
GET /conversations/user/:userId Lista conversaciones de usuario
POST /conversations Crea nueva conversacion
PATCH /conversations/:id Actualiza conversacion
POST /conversations/:id/archive Archiva conversacion
GET /conversations/:conversationId/messages Lista mensajes de conversacion
POST /conversations/:conversationId/messages Agrega mensaje a conversacion
GET /conversations/:conversationId/tokens Obtiene conteo de tokens
POST /usage Registra uso de IA
GET /usage/stats Obtiene estadisticas de uso
GET /quotas Obtiene cuota del tenant
PATCH /quotas Actualiza cuota del tenant
GET /quotas/check Verifica disponibilidad de cuota

Dependencias

  • common - Utilidades compartidas
  • auth - Autenticacion y tenant context
  • OpenRouter API (proveedor externo)

Configuracion

Variable Descripcion Requerida
OPENROUTER_API_KEY API key para OpenRouter Si
APP_URL URL de la aplicacion (para HTTP-Referer) No

Roles ERP Soportados

El RoleBasedAIService soporta prompts y accesos diferenciados por rol:

  • admin - Acceso completo
  • supervisor - Acceso a reportes y analisis
  • operator - Acceso a operaciones basicas
  • customer - Acceso limitado a consultas