Mahavaury2 commited on
Commit
902ff1f
·
verified ·
1 Parent(s): 9bf4b2e

Add answer C'est quoi un viol

Browse files
Files changed (1) hide show
  1. app.py +54 -9
app.py CHANGED
@@ -28,8 +28,55 @@ def generate(message: str, chat_history: list[dict]) -> Iterator[str]:
28
  de génération (max_new_tokens, température, etc.) sont
29
  fixés en dur.
30
  """
31
- # Vérifier si la question correspond exactement à celle pour laquelle on souhaite une réponse fixe
32
- if message.strip().lower() == "c’est quoi le consentement ? comment savoir si ma copine a envie de moi ?":
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  fixed_response = """Le consentement, pour exister, doit passer par :
34
 
35
  **Le questionnement de soi-même** : il semble nécessaire de s'intéresser à ce que l’on veut précisément et ce que l’on ne veut pas. Savoir clairement ce que l’on veut faire permet d’être en capacité de le dire à l’autre à haute voix.
@@ -44,20 +91,19 @@ Le respect de son corps et du corps de l’autre, ainsi que de ses envies : fair
44
  <p>Billy et Alex s’embrassent. Alex glisse ses mains sous le pull de Billy. Mais Billy n’est pas sûr d’en avoir envie et se sent mal à l’aise. Billy a l’impression d’être touché sans son aval. Alex aurait dû lui demander “Est-ce que je peux ?” ou “Est-ce que tu en as envie ?”</p>
45
  <p>Billy arrête d’embrasser Alex et lui dit “J’ai envie de toi, mais je veux aller à mon rythme.” Cela ne veut pas dire que Billy refusera pour toujours tout contact avec Alex. Dans un monde normal, Billy et Alex se demandent à chaque progression de leur rapport s’ils ont envie.</p>
46
 
47
- *<p style="text-align: center;">👉 Comment s’assurer de son consentement ?</p>*
48
- *<p>Retournes sur la page principale et cliques sur le nuage correspondant pour voir toutes les façons de faire. Choisis ce qui te convient et ce qui te rend à l’aise 😌</p>*
49
  """
50
  yield fixed_response
51
  return
52
 
53
- # Valeurs par défaut fixées
54
  max_new_tokens = 1024
55
  temperature = 0.6
56
  top_p = 0.9
57
  top_k = 50
58
  repetition_penalty = 1.2
59
 
60
- # Prépare la conversation
61
  conversation = [*chat_history, {"role": "user", "content": message}]
62
  input_ids = tokenizer.apply_chat_template(conversation, return_tensors="pt")
63
 
@@ -87,18 +133,17 @@ Le respect de son corps et du corps de l’autre, ainsi que de ses envies : fair
87
  yield "".join(outputs)
88
 
89
 
90
- # On ne fournit plus 'additional_inputs' ici, donc aucun slider ne sera affiché
91
  demo = gr.ChatInterface(
92
  fn=generate,
93
  stop_btn=None,
94
  examples=[
 
95
  ["C’est quoi le consentement ? Comment savoir si ma copine a envie de moi ?"],
96
  ["C’est quoi une agression sexuelle ?"],
97
- ["C’est quoi un viol ?"],
98
  ["C’est quoi un attouchement ?"],
99
  ["C’est quoi un harcèlement sexuel ?"],
100
  ["Est-ce illégal de visionner du porno ?"],
101
- ["C’est quoi un harcèlement sexuel ?"],
102
  ["Mon copain me demande un nude, dois-je le faire ?"],
103
  ["Mon ancien copain me menace de poster des photos de moi nue sur internet, que faire ?"],
104
  ["Que puis-je faire si un membre de ma famille me touche d’une manière bizarre, mais que j’ai peur de parler ou de ne pas être cru ?"],
 
28
  de génération (max_new_tokens, température, etc.) sont
29
  fixés en dur.
30
  """
31
+ # On convertit la question en minuscules pour la comparer plus facilement
32
+ lower_msg = message.strip().lower()
33
+
34
+ # Réponse fixe pour "C'est quoi un viol ?"
35
+ if lower_msg == "c’est quoi un viol ?" or lower_msg == "c'est quoi un viol ?":
36
+ fixed_response = """
37
+ <h2 style="text-align: center;">Un viol</h2>
38
+ <p>Le viol est un crime <br/>
39
+ (donc une infraction très grave punie d'une peine d'emprisonnement)</p>
40
+
41
+ <p>Le viol se définit comme :</p>
42
+ <ul>
43
+ <li>Tout acte de pénétration sexuelle commis sur la personne d’autrui ou sur soi</li>
44
+ <li>Toute pratique sexuelle mettant en contact la bouche d’un partenaire et le sexe d’un autre</li>
45
+ </ul>
46
+
47
+ <p style="text-align: center;">OU</p>
48
+
49
+ <p><strong>SOIT entre</strong> :</p>
50
+ <ul>
51
+ <li>Un majeur (18 ans ou +) et un mineur (moins de 18 ans)</li>
52
+ <li>Avec une différence d’âge importante, par exemple</li>
53
+ </ul>
54
+
55
+ <p style="text-align: center;">OU</p>
56
+
57
+ <p><strong>SOIT avec</strong> :</p>
58
+ <ul>
59
+ <li>Une menace (ex : chantage)</li>
60
+ <li>Une contrainte (ex : pression physique)</li>
61
+ <li>Une surprise (ex : ton partenaire dort)</li>
62
+ </ul>
63
+
64
+ <p><strong>Ainsi, le viol peut être commis sur</strong> :</p>
65
+ <ul>
66
+ <li>La personne qui pénètre</li>
67
+ <li>La personne qui est pénétrée</li>
68
+ <li>La personne qui n’a pas consenti ou ne consent plus</li>
69
+ </ul>
70
+
71
+ <p style="text-align: center;"><em>Qu’est-ce que je fais si j’ai été violé(e) ?</em></p>
72
+ <p>Retourne au menu principal et clique sur le nuage « j’ai besoin de ton aide » pour plus d’informations.</p>
73
+ <p>Tu peux aussi te référer à la législation : Articles 222-22 et suivants du Code pénal.</p>
74
+ """
75
+ yield fixed_response
76
+ return
77
+
78
+ # (Exemple) Réponse fixe pour "C'est quoi le consentement ? Comment savoir si ma copine a envie de moi ?"
79
+ if lower_msg == "c’est quoi le consentement ? comment savoir si ma copine a envie de moi ?":
80
  fixed_response = """Le consentement, pour exister, doit passer par :
81
 
82
  **Le questionnement de soi-même** : il semble nécessaire de s'intéresser à ce que l’on veut précisément et ce que l’on ne veut pas. Savoir clairement ce que l’on veut faire permet d’être en capacité de le dire à l’autre à haute voix.
 
91
  <p>Billy et Alex s’embrassent. Alex glisse ses mains sous le pull de Billy. Mais Billy n’est pas sûr d’en avoir envie et se sent mal à l’aise. Billy a l’impression d’être touché sans son aval. Alex aurait dû lui demander “Est-ce que je peux ?” ou “Est-ce que tu en as envie ?”</p>
92
  <p>Billy arrête d’embrasser Alex et lui dit “J’ai envie de toi, mais je veux aller à mon rythme.” Cela ne veut pas dire que Billy refusera pour toujours tout contact avec Alex. Dans un monde normal, Billy et Alex se demandent à chaque progression de leur rapport s’ils ont envie.</p>
93
 
94
+ <p style="text-align: center;">👉 *Comment s’assurer de son consentement ?*</p>
95
+ <p>Retournes sur la page principale et cliques sur le nuage correspondant pour voir toutes les façons de faire. Choisis ce qui te convient et ce qui te rend à l’aise 😌</p>
96
  """
97
  yield fixed_response
98
  return
99
 
100
+ # Sinon, génération classique
101
  max_new_tokens = 1024
102
  temperature = 0.6
103
  top_p = 0.9
104
  top_k = 50
105
  repetition_penalty = 1.2
106
 
 
107
  conversation = [*chat_history, {"role": "user", "content": message}]
108
  input_ids = tokenizer.apply_chat_template(conversation, return_tensors="pt")
109
 
 
133
  yield "".join(outputs)
134
 
135
 
136
+ # Interface Gradio
137
  demo = gr.ChatInterface(
138
  fn=generate,
139
  stop_btn=None,
140
  examples=[
141
+ ["C’est quoi un viol ?"],
142
  ["C’est quoi le consentement ? Comment savoir si ma copine a envie de moi ?"],
143
  ["C’est quoi une agression sexuelle ?"],
 
144
  ["C’est quoi un attouchement ?"],
145
  ["C’est quoi un harcèlement sexuel ?"],
146
  ["Est-ce illégal de visionner du porno ?"],
 
147
  ["Mon copain me demande un nude, dois-je le faire ?"],
148
  ["Mon ancien copain me menace de poster des photos de moi nue sur internet, que faire ?"],
149
  ["Que puis-je faire si un membre de ma famille me touche d’une manière bizarre, mais que j’ai peur de parler ou de ne pas être cru ?"],