?
OutilintermédiaireVérifié le 2025-05

Llama Guard : filtrage de contenu open source

Implémenter Llama Guard pour la modération de contenu dans vos applications.

Llama Guard : modération de contenu open source

Llama Guard est un modèle de classification spécialisé dans la détection de contenu dangereux ou inapproprié. Il permet d'ajouter une couche de sécurité à vos applications LLM sans dépendre d'un service propriétaire.

Fonctionnement

Llama Guard analyse une conversation (prompt + réponse) et classifie le contenu selon des catégories de risque prédéfinies :

  • Violences et contenus graphiques
  • Contenu sexuel
  • Activités criminelles
  • Armes et substances dangereuses
  • Discours haineux
  • Auto-mutilation
  • Informations personnelles

Architecture d'intégration

Utilisateur → Prompt → [Llama Guard: check input] → LLM → Réponse → [Llama Guard: check output] → Utilisateur

Llama Guard s'utilise en amont (filtrer les prompts malveillants) et en aval (filtrer les réponses problématiques).

Implémentation

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "meta-llama/Llama-Guard-3-8B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id, 
    torch_dtype=torch.bfloat16, 
    device_map="auto"
)

def check_safety(conversation):
    """Vérifie si une conversation est safe."""
    input_ids = tokenizer.apply_chat_template(
        conversation, 
        return_tensors="pt"
    ).to(model.device)
    
    output = model.generate(
        input_ids=input_ids,
        max_new_tokens=100
    )
    
    result = tokenizer.decode(output[0], skip_special_tokens=True)
    return "safe" in result.lower()

# Utilisation
conversation = [
    {"role": "user", "content": "Comment faire un gâteau au chocolat ?"}
]
is_safe = check_safety(conversation)  # True

Intégration avec Ollama

# Télécharger Llama Guard
ollama pull llama-guard3

# Vérifier un message
ollama run llama-guard3 "Analyse ce message: ..."

Personnalisation des catégories

Llama Guard est paramétrable. Vous pouvez définir vos propres catégories de risque selon votre domaine :

  • Application pour enfants : catégories plus strictes
  • Plateforme médicale : autoriser les termes médicaux explicites
  • Forum de discussion : catégories adaptées à votre politique de modération

Bonnes pratiques

  • Utilisez Llama Guard sur les inputs ET les outputs
  • Combinez avec des règles métier (regex, listes de mots)
  • Loggez les détections pour améliorer votre pipeline
  • Testez régulièrement avec des adversarial prompts
  • La latence est faible (~100ms) donc utilisable en temps réel

Limites

  • Pas parfait : des faux positifs et négatifs existent
  • Biaisé vers l'anglais (moins efficace sur d'autres langues)
  • Ne remplace pas une modération humaine pour les cas limites

Sources

Llamasécuritémodération