Files
llamacpp-qwen3.5-0.8b/README.md
Luca Sacchi Ricciardi f20f6571c2 project refactored
2026-03-27 14:27:12 +00:00

69 lines
2.7 KiB
Markdown

# llamacpp-qwen3.5-0.8b
Un microservizio Docker standalone basato su `llama.cpp` per eseguire il modello Qwen 3.5 0.8B su GPU AMD (ottimizzato per architettura RDNA3 / gfx1100).
Fornisce un'API HTTP nativa, compatibile al 100% con le specifiche OpenAI. Ideale per l'integrazione diretta con n8n e script Python, mantenendo un'architettura a microservizi pulita e priva di wrapper intermedi.
## Prerequisiti
- Docker e Docker Compose installati.
- GPU AMD con driver ROCm installati e funzionanti sul sistema host.
- Accesso ai device `/dev/kfd` e `/dev/dri`.
## Setup (Little Often)
1. **Prepara l'ambiente:**
Clona il repository e crea la directory dedicata ai modelli.
```bash
mkdir models
```
2. **Scarica il modello (formato GGUF):**
Scarica i pesi quantizzati di Qwen 3.5 0.8B all'interno della cartella `models`. Ad esempio, per la versione Q8_0:
```bash
wget [https://huggingface.co/Qwen/Qwen1.5-0.8B-Chat-GGUF/resolve/main/qwen1_5-0_8b-chat-q8_0.gguf](https://huggingface.co/Qwen/Qwen1.5-0.8B-Chat-GGUF/resolve/main/qwen1_5-0_8b-chat-q8_0.gguf) -P ./models/
```
*Attenzione:* Se scarichi una quantizzazione diversa, aggiorna il nome del file all'interno del parametro `command` nel `docker-compose.yml`.
3. **Build e Avvio:**
Lancia il container in background. La prima esecuzione compilerà `llama.cpp` dai sorgenti ottimizzandolo per la tua GPU.
```bash
docker compose up --build -d
```
## Test e Validazione (Double Check)
Verifica che il server sia in ascolto e risponda correttamente utilizzando l'endpoint compatibile OpenAI:
```bash
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen",
"messages": [
{
"role": "system",
"content": "Sei un assistente AI utile e conciso."
},
{
"role": "user",
"content": "Quali sono i comandi base di Git?"
}
]
}'
```
## Integrazione con n8n
Per collegare questo servizio a n8n:
1. Aggiungi un nodo **OpenAI** nel tuo workflow.
2. Nelle impostazioni del nodo (Credentials), imposta l'URL di base dell'API in modo che punti a questo container:
`http://<IP_DEL_SERVER_DOCKER>:8000/v1`
3. Puoi inserire una stringa fittizia nel campo API Key (es. `sk-xxxx`), poiché il server locale non richiede autenticazione.
## Architettura e Sicurezza (Safety First)
- **Isolamento:** Il container esegue esclusivamente il binario `llama-server`.
- **Compatibilità RDNA3:** Il `Dockerfile` inietta `HSA_OVERRIDE_GFX_VERSION="11.0.0"` e `AMDGPU_TARGETS="gfx1100"` per forzare la compatibilità della iGPU 780M/RDNA3 con le librerie ROCm.
- **Hardware Mapping:** Assicurati che l'utente che esegue Docker abbia i permessi per accedere ai device video (gruppi `render` e `video`).