--- license: other tags: - gguf - llama.cpp - unsloth - lfm2 - structured-output - notification-ai - spanish - education datasets: - Smith-3/simon-fcyt-umss language: - es - en base_model: LiquidAI/LFM2-350M pipeline_tag: text-generation --- # simon-fcyt-umss (GGUF) 🎓✨ Modelo de IA ajustado para la **Facultad de Ciencias y Tecnología – Universidad Mayor de San Simón (UMSS)**, diseñado para la aplicación **TecnoTime**, la cual ayuda a estudiantes a mantenerse organizados, motivados y conectados con sus actividades académicas. Este modelo es un **fine-tuning** de `LiquidAI/LFM2-350M` orientado a producir respuestas **consistentes, validadas y parseables**, siguiendo la clase `SimonResponse` del sistema Android. La conversión a **GGUF** se realizó usando **Unsloth**, optimizando su uso en: - `llama.cpp` - `text-generation-webui` - dispositivos con recursos limitados (laptops modestos, labs universitarios, teléfonos con inferencia local) --- ## 🎯 Propósito Académico Este modelo está orientado a: - Recordatorios de clases y horarios - Mensajes motivacionales para mejorar continuidad académica - Check-ins cortos para acompañamiento del progreso diario - Estímulo positivo en momentos clave del semestre Está pensado para reforzar: > Hábitos, constancia, asistencia, estado de ánimo y autocuidado académico. --- ## 🧱 Formato Estructurado de Respuesta (JSON Obligatorio) La salida del modelo **no es texto libre**. Siempre debe generar **un único objeto JSON** con los campos requeridos: { "why": "...", "opening_tag": "...", "icon_tag": "...", // Campos adicionales según tipo de notificación } ### Campos según tipo de template: Tipo de Notificación | Requiere | Opcional | Sin ---------------------|----------|----------|----- MOTIVATIONAL_CHECK_IN | question, choices (2) | — | — CLASS_REMINDER | question, choices (2) | — | — CHECK_IN_CLOSURE | message o reminder_copy | — | choices REMINDER_CLOSURE | reminder_copy | — | choices --- ## ✅ Ejemplos Reales Usados en TecnoTime ### Recordatorio de Clase { "why": "Para que no pierdas tu ritmo académico", "opening_tag": "¡Atención, estudiante FCyT!", "question": "¿Listo para tu clase de hoy?", "icon_tag": "info", "choices": [ {"id": "yes", "label": "Llego en un momento"}, {"id": "no", "label": "Estoy terminando algo"} ] } ### Check-in Motivacional { "why": "Para reforzar tu constancia", "opening_tag": "¡Vamos con toda, ingeniería!", "question": "¿Cómo te sientes con lo que has avanzado hoy?", "icon_tag": "focus", "choices": [ {"id": "yes", "label": "Bien, sigo avanzando"}, {"id": "no", "label": "Hoy fue complicado"} ] } --- ## 📦 Archivos GGUF Disponibles Archivo | Uso recomendado --------|---------------- LFM2-350M.Q5_K_M.gguf | Mejor equilibrio calidad / rendimiento LFM2-350M.Q8_0.gguf | Máxima calidad (requiere más RAM) LFM2-350M.Q4_K_M.gguf | Equipos de bajos recursos / labs --- ## 🚀 Uso con `llama.cpp` llama-cli -m LFM2-350M.Q5_K_M.gguf -p "GENERAR: CLASS_REMINDER para clase de Física" --- ## 🐍 Uso con `transformers` from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("tuUsuario/simon-fcyt-umss") model = AutoModelForCausalLM.from_pretrained("tuUsuario/simon-fcyt-umss") prompt = "GENERAR: MOTIVATIONAL_CHECK_IN" inp = tokenizer(prompt, return_tensors="pt") out = model.generate(**inp, max_new_tokens=160) print(tokenizer.decode(out[0], skip_special_tokens=True)) --- ## ⚖️ Licencia Este modelo deriva de `LiquidAI/LFM2-350M`, bajo: LFM Open License v1.0 https://huggingface.co/LiquidAI/LFM2-350M/blob/main/LICENSE --- ## 📌 Estado ✅ Listo para uso en TecnoTime ⏳ Próxima etapa: Publicación en Play Store 🔗 Enlace será añadido próximamente.