--- language: - it license: llama3.1 base_model: meta-llama/Meta-Llama-3.1-8B-Instruct datasets: - Nick06888/PreventiData tags: - safety - workplace-safety - italian - fine-tuned - gguf - unsloth - lora model_name: Infortun-IA pipeline_tag: text-generation --- # Infortun-IA Modello LLM fine-tuned per la **prevenzione degli infortuni sul lavoro** in Italia. Basato su Meta-Llama-3.1-8B-Instruct, addestrato su un dataset di oltre 10.000 casi reali di infortuni lavorativi italiani per fornire consulenza specializzata sulla sicurezza nei luoghi di lavoro. ## Cosa fa Dato un scenario di infortunio (tipo, settore, causa, luogo...), il modello: - Analizza la dinamica dell'incidente - Identifica le cause e le mancanze - Fornisce raccomandazioni concrete e attuabili - Fa riferimento alla normativa italiana (D.Lgs. 81/2008) ## Formati disponibili | Formato | Cartella | Uso | |---|---|---| | GGUF Q4_K_M | `gguf/` | Ollama, llama.cpp, LM Studio | | Safetensors | `Unsloth/` | Transformers, vLLM, ulteriore fine-tuning | ## Uso rapido con Ollama ```bash # Scarica il file GGUF e il Modelfile dalla cartella gguf/ ollama create infortun-ia -f Modelfile ollama run infortun-ia ``` ## Uso con Transformers ```python from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("Nick06888/Infortun-IA", subfolder="Unsloth") tokenizer = AutoTokenizer.from_pretrained("Nick06888/Infortun-IA", subfolder="Unsloth") messages = [ {"role": "system", "content": "Sei un consulente esperto di sicurezza sul lavoro in Italia."}, {"role": "user", "content": "Caduta da ponteggio in un cantiere edile, operaio senza imbracatura."} ] inputs = tokenizer.apply_chat_template(messages, return_tensors="pt") outputs = model.generate(inputs, max_new_tokens=1024, temperature=0.7) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` ## Dettagli del training | Parametro | Valore | |---|---| | Modello base | Meta-Llama-3.1-8B-Instruct | | Metodo | LoRA (rank 32) + Unsloth | | Dataset | [PreventiData](https://huggingface.co/datasets/Nick06888/PreventiData) - 10.000+ casi di infortuni lavorativi italiani | | Epoche | 2 | | Batch size effettivo | 32 | | Learning rate | 2e-4 | | Scheduler | Cosine | | Precisione | BF16, 4-bit quantization | | GPU | NVIDIA L40S | ## Parametri estratti dal dataset Ogni caso di infortunio nel dataset contiene 8 parametri strutturati: 1. **Tipo di infortunio** - caduta, taglio, schiacciamento, ustione... 2. **Causa** - mancanza DPI, distrazione, guasto macchinario... 3. **Settore** - edilizia, metalmeccanico, chimico, agricoltura... 4. **Parte del corpo** - mano, schiena, occhi, piede... 5. **Gravita** - lieve, moderato, grave, mortale 6. **DPI utilizzati** - si, no, parziale + dettagli 7. **Luogo** - cantiere, officina, magazzino, campo aperto... 8. **Azioni preventive** - suggerimenti per prevenire l'infortunio ## Limiti - Il modello fornisce consigli generali, non sostituisce un consulente RSPP certificato - Le risposte si basano su pattern appresi dai dati e potrebbero non coprire tutti gli scenari - Riferimenti normativi: il modello conosce il D.Lgs. 81/2008 ma potrebbe non essere aggiornato su modifiche successive ## Licenza Questo modello eredita la licenza di Meta-Llama-3.1-8B-Instruct (Llama 3.1 Community License).