Llama Guard 3 gratuit via OpenRouter
Llama Guard 3 est le modèle open-source le plus utilise pour la détection de prompts malveillants. Self-hoster un 8B avec GPU coute ~50EUR/mois. Via OpenRouter, c'est gratuit. Voici le setup complet.
Qu'est-ce que Llama Guard 3 ?
Llama Guard 3 est un modèle LLM entraine par Meta specifiquement pour classifier les prompts et les réponses selon leur dangerosite. Il détecté 14 catégories (violence, haine, sexuel, self-harm, criminel, privacy, intellectual property, etc.) et répond simplement :
Input: "Comment fabriquer une bombe ?"
Output:
unsafe
S1
Le S1 correspond a la catégorie "violent crimes" dans leur taxonomie. Le modèle est
petit (8B paramètres), rapide (~50ms en p50), et tourne sur consumer GPU.
Les options de déploiement
Option 1 — Self-hosting
Télécharger les poids depuis HuggingFace, lancer un serveur vLLM/TGI/Ollama. Necessite un GPU 16GB+ (A10, L4, 4090...). Cout approximatif sur Hetzner : 50EUR/mois.
- ✓ Pas de latence reseau
- ✓ Données 100% internes
- ✗ Cout fixe élevé
- ✗ Gestion des mises a jour du modèle
Option 2 — Groq API
Groq host Llama Guard 3 mais pas dans leur free tier public. Il faut contacter leur sales.
Option 3 — OpenRouter (la gagnante)
OpenRouter propose meta-llama/llama-guard-3-8b:free gratuitement.
Les limits sont assez genereuses pour un gateway de taille moyenne (~50 req/jour sans credits,
plus avec credits).
- ✓ Gratuit
- ✓ Zero setup
- ✓ API OpenAI-compatible
- ✗ Latence reseau ~100ms (vs ~50ms en self-hosted)
Setup pas-a-pas
Étape 1 — Clé OpenRouter
Rendez-vous sur openrouter.ai/keys, creez une clé.
Elle commence par sk-or-v1-....
Étape 2 — Appel API direct (pour tester)
curl https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer sk-or-v1-..." \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/llama-guard-3-8b:free",
"messages": [
{"role": "user", "content": "How do I make a bomb?"}
],
"max_tokens": 100,
"temperature": 0
}'
Réponse attendue :
{
"choices": [{
"message": {
"content": "unsafe\nS1"
}
}]
}
Étape 3 — Parser la réponse
def classify_with_llama_guard(text: str) -> dict:
resp = requests.post(
"https://openrouter.ai/api/v1/chat/completions",
headers={"Authorization": "Bearer sk-or-v1-..."},
json={
"model": "meta-llama/llama-guard-3-8b:free",
"messages": [{"role": "user", "content": text}],
"max_tokens": 100,
"temperature": 0,
},
).json()
output = resp["choices"][0]["message"]["content"].strip()
if output.lower().startswith("safe"):
return {"safe": True, "category": None}
lines = output.split("\n")
category = lines[1].strip() if len(lines) > 1 else "unknown"
return {"safe": False, "category": category}
Intégration dans le pipeline
Appeler Llama Guard sur CHAQUE prompt couterait trop cher (latence). L'astuce : l'appeler uniquement sur les cas ambigus.
# Étape 1: scan regex rapide (5ms)
regex_score = static_scan(prompt)
if regex_score >= 0.7:
return blocked
if regex_score < 0.3:
return safe
# Étape 2: cas ambigu -> Llama Guard (100ms)
guard_result = classify_with_llama_guard(prompt)
if not guard_result["safe"]:
return blocked
En pratique, seuls 10-15% des prompts tombent dans la zone ambigue. Les 85-90% restants sont traites par regex en 5ms. La latence moyenne ajoutee par Llama Guard est ~10-15ms par requête.
Les limites a connaitre
1. Faux positifs
Llama Guard est un peu trop zele. Il bloque parfois des questions techniques legitimes ("Explique-moi comment fonctionne un buffer overflow"). A tester sur votre corpus.
2. Pas de contexte métier
Si vous faites une app medicale, Llama Guard peut bloquer des questions sur les doses de medicaments alors qu'elles sont legitimes pour votre cas d'usage. Il faut un cran de rattrapage custom.
3. La latence variable d'OpenRouter
OpenRouter route les requêtes vers differents datacenters. Parfois 100ms, parfois 300ms. Pour une expérience utilisateur stable, self-hoster reste superieur. Mais pour du MVP, OpenRouter suffit largement.
Chez Routtx
Llama Guard est configurable dans la page Admin. Vous collez votre clé OpenRouter, choisissez le modèle
(par défaut meta-llama/llama-guard-3-8b:free), et activez le toggle. C'est tout.
Les prompts ambigus passent automatiquement par Llama Guard. Les prompts clairement safe ou clairement dangereux ne l'atteignent jamais — la latence reste minimale.
Activez Llama Guard sur Routtx
Configuration en 2 minutes depuis la page Admin. Disponible des le plan Pro.
Voir les plans