✅ Chat AI Assistant con Archivos Adjuntos Implementado
🎯 Nueva Funcionalidad Completa Se ha implementado un sistema de chat conversacional con IA que permite adjuntar archivos (imágenes y PDFs), similar a ChatGPT, con prompt personalizable y envío completo al webhook. 📋 Características Implementadas 1. Adjuntar Archivos en el Chat ✅ Botón 📎 para adjuntar archivos ✅ Soporte para imágenes (JPG, PNG, etc.) y PDFs ✅ Preview de archivos adjuntos antes de enviar ✅ Eliminación individual de archivos adjuntos ✅ Múltiples archivos por mensaje ✅ Validación de tipos de archivo 2. Procesamiento Backend de Archivos ✅ Endpoint modificado para recibir FormData con archivos ✅ PDFs: Extracción automática de texto con pypdf ✅ Imágenes: Conversión a base64 para Vision AI ✅ Análisis combinado de texto + imágenes ✅ Límite de 2000 caracteres por PDF para optimizar 3. Integración con IA ✅ OpenAI Vision: Soporte multimodal (texto + imágenes) ✅ Gemini: Soporte de imágenes y texto ✅ Contexto enriquecido con archivos adjuntos ✅ Prompts adaptados según tipo de archivo 4. Custom Prompt por Checklist ✅ Campo assistant_prompt configurable por pregunta ✅ Campo assistant_instructions para instrucciones adicionales ✅ Control de longitud de respuesta (short/medium/long) ✅ Contexto automático del vehículo en cada mensaje 5. Persistencia del Chat ✅ Nuevo campo chat_history en modelo Answer ✅ Migración SQL: add_chat_history_to_answers.sql ✅ Guardado automático del historial completo ✅ Restauración del chat al reabrir 6. Envío al Webhook (n8n) ✅ Todos los chats incluidos en send_completed_inspection_to_n8n() ✅ Campo chat_history en cada respuesta del webhook ✅ Incluye metadata de archivos adjuntos ✅ Tipo de pregunta identificado en webhook ✅ Datos completos para análisis posterior
This commit is contained in:
@@ -215,6 +215,7 @@ class AnswerCreate(AnswerBase):
|
||||
inspection_id: int
|
||||
question_id: int
|
||||
ai_analysis: Optional[list] = None # Lista de análisis de IA (soporta múltiples imágenes)
|
||||
chat_history: Optional[list] = None # Historial de chat con AI Assistant
|
||||
|
||||
class AnswerUpdate(AnswerBase):
|
||||
pass
|
||||
@@ -225,6 +226,7 @@ class Answer(AnswerBase):
|
||||
question_id: int
|
||||
points_earned: int
|
||||
ai_analysis: Optional[list] = None # Lista de análisis de IA
|
||||
chat_history: Optional[list] = None # Historial de chat con AI Assistant
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
|
||||
Reference in New Issue
Block a user