first commit

This commit is contained in:
Luca Sacchi Ricciardi
2026-03-30 16:35:05 +00:00
commit 8e17722311
25 changed files with 533 additions and 0 deletions

93
README.md Normal file
View File

@@ -0,0 +1,93 @@
Ecco una proposta di `README.md` strutturata secondo il tuo approccio **Spec-Driven** e orientata alla gestione professionale di un'infrastruttura LLM su **Linux ROCm**.
---
# Ollama Modelfiles - Sacchi Professional Suite
Repository di configurazione per la scuderia di modelli LLM ospitata sul server `llm` (192.168.254.115). La suite è progettata per interagire con **Claude Code Router (CCR)**, bilanciando potenza di calcolo (APU Radeon 780M) e ampiezza di contesto.
## 🧠 Filosofia di Progetto
Tutti i modelli sono configurati seguendo rigorosamente le **3 Regole di Sacchi**:
1. **Safety First**: Parametri di sistema ottimizzati per prevenire crash del driver ROCm.
2. **Little Often**: Modelli piccoli (Gemma 270M/1B) per task rapidi e frequenti.
3. **Double Check**: Validazione delle specifiche e del codice tramite modelli a largo contesto.
### Standard Implementati
* **Approccio Spec-Driven**: Definizione delle specifiche prima della generazione di codice.
* **Test-Driven Development (TDD)**: Priorità alla scrittura dei test.
* **Git Flow**: Messaggi in standard *Conventional Commits*.
* **Documentation**: Changelog mantenuti secondo lo standard *Common Changelog*.
---
## 🏗️ Struttura della Scuderia
| Modello | Ruolo | Context | File Base |
| :--- | :--- | :--- | :--- |
| **Nemotron Cascade 2** | Deep Thinking / Reasoning | 256k | `Modelfile-Nemotron-256k` |
| **GLM-4.7 Flash** | Long Context Analysis | 198k | `Modelfile-GLM-198k` |
| **Gemma 3 4B** | Full Stack Coding / Vision | 128k | `Modelfile-Gemma3-4b-128k` |
| **Gemma 3n e4b** | Main Coder (Balanced) | 32k | `Modelfile-Gemma3n-e4b-32k` |
| **Gemma 3n e2b** | Fast Coding / Debugging | 32k | `Modelfile-Gemma3n-e2b-32k` |
| **Gemma 3 1B** | Automazione / Scripting | 32k | `Modelfile-Gemma3-1B-32k` |
| **Gemma 3 270M** | Utility / Commit Generator | 32k | `Modelfile-Gemma3-270M-32k` |
| **FunctionGemma** | Tool Calling / Utility | 32k | `Modelfile-Gemma-Utility` |
---
## 📂 Organizzazione File
Ogni directory segue lo standard a due file per separare la logica di esecuzione dalla "persona" del modello:
* `Modelfile-*`: Contiene il riferimento `FROM` e i `PARAMETER` tecnici (context, temperature, gpu layers).
* `Modelfile-*.prompt`: Contiene il `SYSTEM PROMPT` specifico con le direttive Sacchi/Spec-Driven.
---
## 🚀 Setup & Installazione
### 1. Requisiti di Sistema (Ollama + ROCm)
Per garantire la stabilità sulla **Radeon 780M**, assicurarsi che l'override di sistema sia attivo in `/etc/systemd/system/ollama.service.d/override.conf`:
```ini
[Service]
Environment="HSA_OVERRIDE_GFX_VERSION=11.0.0"
Environment="HSA_ENABLE_SDMA=0"
Environment="OLLAMA_HOST=0.0.0.0"
```
### 2. Creazione dei Modelli
Per registrare un modello, combinare il file di configurazione con il relativo prompt di sistema:
```bash
# Esempio per Gemma 3 4B
cd gemma3:4b
ollama create gemma3-128k -f Modelfile-Gemma3-4b-128k
# Nota: Il comando aggiungerà il system prompt definito nel file .prompt se concatenato
```
---
## 🛠️ Utilizzo con Claude Code Router (CCR)
Puntare il router sulla VM `devs` all'istanza remota:
```json
"Providers": [
{
"name": "ollama-remote",
"api_base_url": "http://192.168.254.115:11434/v1/chat/completions",
"api_key": "ollama",
"models": ["nemotron-pro-256k", "gemma3-128k", "gemma3-utility-32k"]
}
]
```
---
## 📝 Manutenzione
* **Logs**: Monitorare `journalctl -u ollama -f` per eventuali errori MES o timeout GPU.
* **Updates**: Verificare periodicamente le nuove versioni dei modelli base tramite `ollama pull`.
---
*Creato da Luca Sacchi - Approccio Sistemistico alla Generazione AI.*