📋 Cambios Implementados Frontend: ✅ Input acepta image/*,application/pdf ✅ Label actualizado: "Fotografías / Documentos PDF *" ✅ Preview diferenciado: PDFs muestran icono 📝 rojo en lugar de imagen ✅ Nombre de archivo PDF visible en el preview ✅ Contador genérico: "archivo(s) cargado(s)" Backend: ✅ Agregado pypdf==4.0.1 a requirements.txt ✅ Detección automática de PDFs por content_type o extensión ✅ Extracción de texto de PDFs usando pypdf.PdfReader ✅ Validación de PDFs vacíos (sin texto extraíble) ✅ Prompts adaptados automáticamente para PDFs ✅ Soporte en OpenAI y Gemini (análisis de texto en lugar de vision) ✅ Límite de 4000 caracteres del PDF para análisis 🎯 Funcionamiento Usuario sube PDF → Sistema detecta tipo de archivo Extrae texto → PyPDF lee todas las páginas Análisis IA → Envía texto al modelo (no usa Vision API) Respuesta → Misma estructura JSON que con imágenes ⚠️ Limitaciones PDFs escaneados sin OCR no funcionarán (requieren texto seleccionable) Máximo 4000 caracteres del PDF enviados al AI 📦 Versiones Frontend: 1.0.91 → 1.0.92 Backend: 1.0.89 → 1.0.90
20 lines
390 B
Plaintext
20 lines
390 B
Plaintext
fastapi==0.109.0
|
|
uvicorn[standard]==0.27.0
|
|
sqlalchemy==2.0.25
|
|
alembic==1.13.1
|
|
psycopg2-binary==2.9.9
|
|
pydantic==2.5.3
|
|
pydantic-settings==2.1.0
|
|
email-validator==2.1.0
|
|
python-jose[cryptography]==3.3.0
|
|
passlib==1.7.4
|
|
bcrypt==4.0.1
|
|
python-multipart==0.0.6
|
|
openai==1.10.0
|
|
google-generativeai==0.3.2
|
|
Pillow==10.2.0
|
|
reportlab==4.0.9
|
|
pypdf==4.0.1
|
|
python-dotenv==1.0.0
|
|
boto3==1.34.89
|
|
requests==2.31.0 |