Contentmoderatie voor AI-toepassingen: een gids voor developers
Elke toepassing die op een LLM draait, heeft contentmoderatie nodig. Compliance is één reden. Veiligheid, het vertrouwen van je gebruikers en de bescherming van je model tegen kwaadwillige input zijn de andere.
In deze gids behandelen we de twee kanten van AI-contentmoderatie: filteren wat gebruikers naar je LLM sturen, en filteren wat je LLM terugstuurt naar gebruikers.
De twee filters die elke AI-app nodig heeft
1. Inputfiltering
Voordat gebruikersinput je LLM bereikt, controleer je op:
- Schadelijke content: haatzaaiende taal, intimidatie, bedreigingen, seksuele content
- Prompt injection: pogingen om de systeemprompt te omzeilen of het model te jailbreaken
- Illegale verzoeken: instructies voor illegale activiteiten, het maken van drugs, enzovoort
- Lekken van persoonsgegevens: gebruikers die per ongeluk persoonlijke informatie delen
2. Outputfiltering
Voordat de output van het model je gebruikers bereikt, controleer je op:
- Schadelijke gegenereerde content: het model dat haatzaaiende taal, geweld enzovoort produceert
- Gegenereerde persoonsgegevens: het model dat per ongeluk echte of verzonnen persoonsgegevens genereert
- Gehallucineerde gevaarlijke informatie: medisch, juridisch of financieel advies
- Overtredingen van je beleid: content die indruist tegen de gebruiksvoorwaarden van je toepassing
Implementatiepatronen
Patroon 1: sequentieel filteren (aanbevolen voor de meeste apps)
Gebruikersinput -> Inputmoderatie -> { indien gemarkeerd -> weigeren } -> LLM
LLM-output -> Outputmoderatie -> { indien gemarkeerd -> fallback-antwoord } -> Gebruiker Patroon 2: parallel filteren (bij strenge eisen aan de latency)
Gebruikersinput -> Inputmoderatie + LLM (parallel)
-> Wacht op het moderatieresultaat
-> Indien gemarkeerd -> LLM-antwoord weggooien en foutmelding tonen
-> Indien niet gemarkeerd -> LLM-antwoord tonen na outputmoderatie Defense in depth met meerdere providers
Wie op één moderatieprovider vertrouwt, heeft één single point of failure en blinde vlekken. Meerdere providers combineren is robuuster:
- Gebruik OpenAI Moderation voor de algemene detectie van schadelijke content
- Gebruik Llama Guard (zelf gehost) om gevoelige input zonder kosten en zonder datalek te filteren
- Gebruik een LLM als classifier met GPT-4o of Claude om je eigen beleid te handhaven, met een goed begrip van de context
Met OpenModeration krijg je een gelaagde aanpak in één enkele API-call: onze eigen moderatie-AI analyseert de content, en andere AI-modellen controleren de lastige gevallen vóór de eindbeslissing.
Best practices
- Modereer altijd zowel input als output. Elk van beide vangt een ander soort risico op.
- Gebruik context voor meer nauwkeurigheid. Geef de gespreksgeschiedenis en informatie over de auteur mee, zodat de moderatiebeslissing beter onderbouwd is.
- Kies passende drempels. Lage drempels voor categorieën met een hoog risico (minderjarigen, zelfbeschadiging), hogere voor categorieën met een laag risico (spam).
- Log alles voor audits. Je moet kunnen aantonen dat je moderatie werkt, zeker in gereguleerde sectoren.
- Test met kwaadwillige input. Haal bekende jailbreakprompts regelmatig door je moderatiepijplijn.