138 lines
3.8 KiB
Markdown
138 lines
3.8 KiB
Markdown
|
|
---
|
|||
|
|
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.
|