Modération

Concevoir des systèmes d’IA avec l’API OpenAI

Francesca Donadoni

Curriculum Manager, DataCamp

Comprendre la modération dans l’API OpenAI

  • Modération : processus d’analyse d’une entrée pour détecter tout contenu qui enfreint des politiques ou directives prédéfinies Schéma : un message utilisateur lu par l’API de modération d’OpenAI renvoie les probabilités d’appartenance aux catégories de contenu malveillant
Concevoir des systèmes d’IA avec l’API OpenAI

Comprendre la modération dans l’API OpenAI

Schéma : un message utilisateur lu par l’API de modération d’OpenAI renvoie une liste des catégories de contenu malveillant prises en compte

Concevoir des systèmes d’IA avec l’API OpenAI

Modérer le contenu

moderation_response = client.moderations.create(input="""
...until someone draws an Exploding Kitten.
When that happens, that person explodes. They are now dead.
This process continues until...
""") 

print(moderation_response.results[0].categories.violence)
True
1 https://ek.explodingkittens.com/how-to-play/exploding-kittens
Concevoir des systèmes d’IA avec l’API OpenAI

Modération en contexte

moderation_response = client.moderations.create(input="""
In the deck of cards are some Exploding Kittens. You play the game by putting the deck face down and taking turns drawing cards until someone draws an Exploding Kitten.
When that happens, that person explodes. They are now dead.
This process continues until there’s only 1 player left, who wins the game.
The more cards you draw, the greater your chances of drawing an Exploding Kitten.
""") 

moderation_response.results[0].categories.violence
False
Concevoir des systèmes d’IA avec l’API OpenAI

Injection de requête

Une femme utilisant un chatbot avec une invite malveillante injectée

Concevoir des systèmes d’IA avec l’API OpenAI

Injection de requête

 

  • Limiter la quantité de texte dans les invites
  • Limiter le nombre de jetons de sortie générés
  • Utiliser du contenu présélectionné comme entrée et sortie validées
Concevoir des systèmes d’IA avec l’API OpenAI

Ajouter des garde-fous

user_request = """
In the deck of cards are some Exploding Kittens. You play the game by putting the 
deck face down and taking turns drawing cards until  someone draws an Exploding 
Kitten. When that happens, that person explodes. They are now dead.
This process continues until there’s only 1 player left, who wins the game.
The more cards you draw, the greater your chances of drawing an Exploding Kitten.
"""

messages = [{"role": "system", "content": "Your role is to assess whether the user question is allowed or not. The allowed topics are games of chess only. If the topic is allowed, reply with an answer as normal, otherwise say 'Apologies, but the topic is not_allowed.'",}, {"role": "user", "content": user_request},]
Concevoir des systèmes d’IA avec l’API OpenAI

Ajouter des garde-fous

response = client.chat.completions.create(
    model="gpt-4o-mini", 
    messages=messages
)

print(response.choices[0].message.content)
Apologies, but the topic is not allowed.
Concevoir des systèmes d’IA avec l’API OpenAI

Passons à la pratique !

Concevoir des systèmes d’IA avec l’API OpenAI

Preparing Video For Download...