Avec l'adoption massive des LLMs (Large Language Models) en entreprise, la question du logging des interactions devient critique. Comment tracer les echanges pour le debugging et l'amelioration, tout en respectant le RGPD et la vie privee des utilisateurs ?
Pourquoi logger les interactions LLM ?
- Debugging — Comprendre pourquoi le modele a donne une reponse inattendue
- Amelioration — Identifier les cas d'usage problematiques
- Audit — Tracer les decisions prises par l'IA
- Couts — Monitorer la consommation de tokens
- Securite — Detecter les abus ou tentatives d'injection
Les defis du RGPD
Le RGPD impose plusieurs contraintes sur le traitement des donnees personnelles :
Minimisation des donnees
Vous ne devez collecter que les donnees strictement necessaires. Logguer l'integralite des conversations peut etre excessif.
Droit a l'effacement
Les utilisateurs peuvent demander la suppression de leurs donnees. Votre systeme de logging doit permettre cette operation.
Localisation des donnees
Les donnees de citoyens europeens doivent rester dans l'UE, sauf garanties adequates.
Architecture recommandee
Option 1 : Logging local (Privacy-first)
Les donnees restent sur votre infrastructure, jamais envoyees a des tiers.
from hilt import instrument
# Toutes les donnees restent en local
instrument(
backend="local",
filepath="logs/llm_traces.jsonl"
)
Option 2 : Anonymisation avant stockage
Supprimez ou masquez les donnees personnelles avant de logger.
import re
def anonymize_message(msg: str) -> str:
# Masquer emails
msg = re.sub(r'[\w.-]+@[\w.-]+', '[EMAIL]', msg)
# Masquer numeros de telephone
msg = re.sub(r'\b\d{10}\b', '[PHONE]', msg)
return msg
Option 3 : Logging minimal
Ne loggez que les metadonnees, pas le contenu.
log_entry = {
"timestamp": datetime.utcnow().isoformat(),
"model": "gpt-4",
"tokens_in": 150,
"tokens_out": 200,
"latency_ms": 1200,
"status": "success"
# PAS de contenu de message
}
HILT : Solution open-source
HILT (Human-IA Log Tracing) est une bibliotheque Python concue pour le logging RGPD-friendly des LLMs.
Installation
pip install hilt-python
Usage basique
from hilt import instrument, uninstrument
from openai import OpenAI
# Active le logging
instrument(backend="local", filepath="logs/chat.jsonl")
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4",
messages=[{"role": "user", "content": "Hello!"}]
)
# Desactive le logging
uninstrument()
Colonnes disponibles
| Colonne | Description |
|---|---|
timestamp |
Horodatage ISO UTC |
conversation_id |
ID de conversation |
tokens_in |
Tokens du prompt |
tokens_out |
Tokens de la completion |
cost_usd |
Cout estime |
latency_ms |
Latence |
Checklist RGPD pour le logging LLM
- Definir la finalite — Pourquoi loggez-vous ?
- Minimiser les donnees — Ne collectez que le necessaire
- Anonymiser si possible — Masquez les donnees personnelles
- Stocker localement — Evitez les services tiers non conformes
- Documenter — Tenez un registre des traitements
- Permettre la suppression — Implementez le droit a l'effacement
- Limiter la retention — Definissez une duree de conservation
- Securiser — Chiffrement, controle d'acces
Conclusion
Le logging des LLMs est essentiel pour le monitoring et l'amelioration, mais doit etre fait de maniere responsable. Les solutions privacy-first comme HILT permettent de tracer les interactions sans compromettre la conformite RGPD.
Ressources :