Tech

Comment logger vos LLMs tout en respectant le RGPD : guide pour developpeurs

20 décembre 202415 min de lecture

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

  1. Definir la finalite — Pourquoi loggez-vous ?
  2. Minimiser les donnees — Ne collectez que le necessaire
  3. Anonymiser si possible — Masquez les donnees personnelles
  4. Stocker localement — Evitez les services tiers non conformes
  5. Documenter — Tenez un registre des traitements
  6. Permettre la suppression — Implementez le droit a l'effacement
  7. Limiter la retention — Definissez une duree de conservation
  8. 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 :

mcsÉdition — Là où les idées prennent forme