--- title: FitoAsistente emoji: 🌿 colorFrom: blue colorTo: green sdk: static app_file: index.html pinned: false license: apache-2.0 short_description: Diagnostico fitosanitario con ViT, ConvNeXt y Qwen2.5 models: - JohnSupertramp2026/vit-base-plantvillage - JohnSupertramp2026/convnext-tiny-plantvillage - Qwen/Qwen2.5-1.5B-Instruct datasets: - BrandonFors/Plant-Diseases-PlantVillage-Dataset tags: - agriculture - plant-disease - image-classification - text-generation --- # FitoAsistente Proyecto Final de Inteligencia Artificial · Magíster en Data Science, Universidad San Sebastián Jonathan Núñez Moya · Francisco Rietta González · Agosto de 2026 Asistente para el diagnóstico fitosanitario de cultivos. Integra **dos capacidades distintas** de modelos fundacionales de Hugging Face, de dominios distintos: | | Capacidad 1 | Capacidad 2 | |---|---|---| | Tarea | `image-classification` | `text-generation` | | Modelos | ViT-Base/16 y ConvNeXt-Tiny | Qwen2.5-1.5B-Instruct | | Entrenamiento | Fine-tuning sobre PlantVillage, 38 clases | Zero-shot, sin ajuste | | Entrada | Imagen | Texto | | Salida | Una de 38 clases, con probabilidad | Texto libre | El clasificador decide la clase. Esa clase y su confianza se inyectan en la instrucción de sistema del modelo de lenguaje, y desde ahí el usuario conversa sobre tratamiento y manejo. **Qwen no procesa la imagen**: la recibe ya resuelta, como texto. > **Dos capacidades y tres modelos.** ViT y ConvNeXt resuelven la misma tarea y están los dos > porque son el objeto de la comparación experimental, no porque cuenten como capacidades > separadas. ## Esta página Contiene el video de la aplicación en funcionamiento, los resultados de las dos comparaciones experimentales, las matrices de confusión y las instrucciones para ejecutar la aplicación. ## Modelos publicados - https://huggingface.co/JohnSupertramp2026/vit-base-plantvillage - https://huggingface.co/JohnSupertramp2026/convnext-tiny-plantvillage - https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct (sin modificar) ## Resultados | Modelo | Preentrenamiento | Parámetros | Exactitud | Macro F1 | Weighted F1 | Latencia CPU | |---|---|---|---|---|---|---| | CNN desde cero (referencia) | No | 8,49 M | 59,60 % | 0,354 | 0,544 | — | | **ViT-Base/16** | ImageNet-21k | 85,83 M | **99,08 %** | **0,988** | **0,991** | 395,0 ms | | ConvNeXt-Tiny | ImageNet-1k | 27,85 M | 96,41 % | 0,919 | 0,960 | 119,6 ms | Segunda comparación, sobre la capacidad de lenguaje: diez consultas idénticas con Qwen2.5 en 0,5 B y 1,5 B. De ocho consultas en dominio, el modelo pequeño no acertó ninguna y el mayor acertó una. Lo que resolvió el problema de seguridad no fue el modelo más grande sino un **filtro de dominio determinista**, con 21 aciertos sobre 21 casos etiquetados. ## Sobre este despliegue Desde julio de 2026 los Spaces de tipo Gradio y Docker requieren plan PRO; los de tipo Static siguen siendo gratuitos ([foro oficial](https://discuss.huggingface.co/t/gradio-sdk-now-marked-as-paid-when-creating-a-new-space/177619)). La documentación menciona una excepción -hasta dos Spaces Gradio sobre ZeroGPU para cuentas gratuitas en buen estado-; la verificamos en esta cuenta el 11 de agosto de 2026 y no estuvo disponible. Por eso este Space aloja la portada del proyecto y **el video de la aplicación en funcionamiento**, que es la pieza permanente y verificable. La aplicación Gradio se ejecuta desde un cuaderno de Google Colab que publica una dirección con `share=True`, y esa dirección existe solo mientras el cuaderno corre. Las instrucciones para levantarla están en la portada. ## Limitaciones declaradas - El 99,08 % está inflado: PlantVillage contiene varias fotografías de una misma hoja física. - Las imágenes son de laboratorio; la literatura documenta caídas al 31 % en fotos de terreno. - El clasificador no tiene mecanismo de rechazo ante especies fuera de las 38 clases. - El asistente explica y sugiere, no valida tratamientos: de ocho consultas en dominio acertó una. - El filtro de dominio es léxico y se puede burlar. - La aplicación no reemplaza el criterio de un profesional.