🔓 Training notebook (free Colab): Open in Colab — see exactly how this model was trained and exported.
Abuse · Arrest · Arson · Assault · Burglary · Explosion · Fighting · Robbery · Shooting · Shoplifting · Stealing · Vandalism · Road Accident · Normal1{
2 "isHarm": true,
3 "descriptionIfHarm": "The image depicts a physical altercation."
4}1{
2 "isHarm": false
3}⚠️ Output format note: Always include a system prompt explicitly requesting JSON output — the model is trained toward it but won't default to that format without instruction.
1./llama-cli -m LFM2.5-VL-1.6B.Q4_K_M.gguf \
2 --image your_surveillance_image.jpg \
3 -p "Analyze this surveillance image and respond ONLY in JSON: {\"isHarm\": true/false, \"descriptionIfHarm\": \"reason if harmful, else omit\"}." \
4 --temp 0.11# Create a Modelfile
2cat > Modelfile << 'EOF'
3FROM ./LFM2.5-VL-1.6B.Q4_K_M.gguf
4SYSTEM "You are a surveillance analysis assistant. Analyze images for harmful or criminal activity. Always respond in strict JSON: {\"isHarm\": true/false, \"descriptionIfHarm\": \"brief description if harmful, else omit\"}."
5EOF
6
7ollama create lfm-ucf -f Modelfile
8ollama run lfm-ucfNote: Vision GGUF support for this architecture is still experimental in llama.cpp and Ollama. Results may vary — the LoRA version via Unsloth/Transformers is more reliable for production use.
| Model | Accuracy (5,200 samples) |
|---|---|
| Base model (untrained) | 35.2% |
| This model (fine-tuned) | 44.8% |

| Resource | Link |
|---|---|
| Base model | LiquidAI/LFM2.5-VL-1.6B |
| LoRA adapters | rajofearth/lfm-ucf-unsloth |
| Training notebook | Google Colab |
| Dataset | tanzzpatil/ucf-crime-small |