Files
checklist/AI_FUNCTIONALITY.md
2025-11-19 01:09:25 -03:00

5.0 KiB

Sistema de IA para Checklists Inteligentes

Modos de IA

1. OFF (Sin IA)

  • El mecánico completa manualmente todas las respuestas
  • Sin sugerencias ni asistencia automática
  • Control total del usuario

2. ASSISTED (IA Asistida)

Funcionalidades:

  • Análisis de fotos: Cuando el mecánico sube una foto, la IA analiza la imagen y sugiere:
    • Estado del componente (bueno/malo)
    • Nivel de criticidad (ok/minor/critical)
    • Observaciones automáticas basadas en lo que detecta
  • Sugerencias contextuales: Basándose en respuestas previas
  • Detección de anomalías: Si detecta algo crítico, lo marca automáticamente
  • El mecánico puede aceptar o rechazar las sugerencias

Ejemplo de flujo:

1. Mecánico sube foto de pastillas de freno
2. IA analiza: "Desgaste del 85%, menos de 2mm de material"
3. Sugiere: Estado=Crítico, Requiere reemplazo inmediato
4. Mecánico revisa y confirma o modifica

3. FULL (IA Completa - Copilot)

Funcionalidades:

  • Inspección automática por fotos: El mecánico solo toma fotos
  • Análisis completo: La IA responde todas las preguntas automáticamente
  • Generación de informe: Crea observaciones y recomendaciones
  • Detección de problemas: Marca automáticamente items críticos
  • El mecánico solo revisa y firma al final

Ejemplo de flujo:

1. Mecánico toma 20 fotos del vehículo
2. IA procesa todas las fotos
3. Responde las 99 preguntas automáticamente
4. Genera observaciones detalladas
5. Marca 3 items como críticos
6. Mecánico revisa el informe completo
7. Ajusta si es necesario
8. Firma y completa

Implementación Técnica

Análisis de Imágenes con OpenAI Vision

// Frontend: Subir foto
const analyzeImage = async (imageFile, questionType) => {
  const formData = new FormData()
  formData.append('image', imageFile)
  formData.append('question_id', questionId)
  
  const response = await fetch('/api/analyze-image', {
    method: 'POST',
    body: formData
  })
  
  return response.json() // { status, observations, confidence }
}

Backend: Procesamiento con IA

# Backend: Analizar imagen con OpenAI GPT-4 Vision
import openai
from PIL import Image

async def analyze_vehicle_component(image_path: str, question: Question):
    # Cargar imagen
    with open(image_path, 'rb') as f:
        image_data = f.read()
    
    # Prompt especializado según tipo de pregunta
    prompts = {
        "brakes": "Analiza el estado de las pastillas de freno. Indica desgaste, grietas, material restante.",
        "tires": "Evalúa la banda de rodadura, presión aparente, desgaste irregular.",
        "lights": "Verifica funcionamiento de luces, roturas, opacidad.",
        # ... más prompts especializados
    }
    
    # Llamada a OpenAI Vision API
    response = openai.ChatCompletion.create(
        model="gpt-4-vision-preview",
        messages=[{
            "role": "user",
            "content": [
                {"type": "text", "text": prompts.get(question.section, "Analiza este componente")},
                {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_data}"}}
            ]
        }],
        max_tokens=300
    )
    
    # Parsear respuesta
    ai_analysis = response.choices[0].message.content
    
    # Determinar status según análisis
    if "crítico" in ai_analysis.lower() or "falla" in ai_analysis.lower():
        status = "critical"
    elif "menor" in ai_analysis.lower() or "atención" in ai_analysis.lower():
        status = "minor"
    else:
        status = "ok"
    
    return {
        "status": status,
        "observations": ai_analysis,
        "confidence": 0.85,
        "ai_analysis": {
            "raw_response": ai_analysis,
            "model": "gpt-4-vision",
            "timestamp": datetime.now()
        }
    }

Ventajas de cada modo

OFF

Control total del mecánico Sin dependencia de conectividad Sin costos de API

ASSISTED

Ayuda al mecánico a no olvidar detalles Documenta mejor con análisis de fotos Reduce errores humanos Aprende patrones comunes ⚠️ Requiere internet y API key

FULL

Rapidez extrema (5-10 min vs 30-40 min) Consistencia en evaluaciones Ideal para inspecciones masivas Genera informes detallados automáticamente ⚠️ Requiere validación del mecánico ⚠️ Mayor costo de API

Casos de Uso Recomendados

OFF:

  • Talleres sin internet estable
  • Inspecciones básicas
  • Presupuesto limitado

ASSISTED:

  • Talleres medianos/grandes
  • Inspecciones preventivas
  • Documentación detallada requerida

FULL:

  • Flotas de vehículos
  • Inspecciones pre-compra masivas
  • Talleres de alto volumen
  • Empresas de rent-a-car

Próximos pasos de implementación

  1. Estructura de base de datos preparada
  2. Endpoint /api/analyze-image para análisis
  3. Integración con OpenAI Vision API
  4. UI para mostrar sugerencias de IA
  5. Sistema de confianza (confidence score)
  6. Historial de sugerencias aceptadas/rechazadas
  7. Fine-tuning del modelo con datos reales