dofbi commited on
Commit
3e18916
1 Parent(s): fe41d32
Files changed (1) hide show
  1. app.py +14 -4
app.py CHANGED
@@ -14,11 +14,19 @@ model = AutoModelForCausalLM.from_pretrained(model_name).to(device)
14
 
15
  # Fonction pour générer une réponse
16
  @spaces.GPU(duration=120)
17
- def generate_response(user_input, max_new_tokens=150, temperature=0.7):
18
- # Préparer l'entrée pour le modèle
 
 
 
 
 
 
19
  inputs = tokenizer(user_input, return_tensors="pt").to(device)
 
20
  # Générer une réponse
21
  outputs = model.generate(inputs.input_ids, max_new_tokens=max_new_tokens, temperature=temperature)
 
22
  # Décoder la réponse en texte
23
  return tokenizer.decode(outputs[0], skip_special_tokens=True)
24
 
@@ -26,11 +34,13 @@ def generate_response(user_input, max_new_tokens=150, temperature=0.7):
26
  iface = gr.Interface(
27
  fn=generate_response,
28
  inputs=[
29
- gr.Textbox(label="Message utilisateur"),
 
30
  gr.Slider(50, 500, value=150, label="Nombre max de tokens")
31
  ],
32
  outputs="text",
33
- title="Oolel Chatbot"
 
34
  )
35
 
36
  # Lancer l'interface
 
14
 
15
  # Fonction pour générer une réponse
16
  @spaces.GPU(duration=120)
17
+ def generate_response(user_input, system_prompt, max_new_tokens=150, temperature=0.7):
18
+ # Créer la liste des messages avec le prompt système et l'entrée utilisateur
19
+ messages = [
20
+ {"role": "system", "content": system_prompt},
21
+ {"role": "user", "content": user_input}
22
+ ]
23
+
24
+ # Tokeniser l'entrée
25
  inputs = tokenizer(user_input, return_tensors="pt").to(device)
26
+
27
  # Générer une réponse
28
  outputs = model.generate(inputs.input_ids, max_new_tokens=max_new_tokens, temperature=temperature)
29
+
30
  # Décoder la réponse en texte
31
  return tokenizer.decode(outputs[0], skip_special_tokens=True)
32
 
 
34
  iface = gr.Interface(
35
  fn=generate_response,
36
  inputs=[
37
+ gr.Textbox(label="Message utilisateur", placeholder="Entrez votre message ici..."),
38
+ gr.Textbox(label="Prompt système", default="You are a skilled Wolof storyteller (Gewël) with deep knowledge of African folktales and traditions. Write engaging stories in Wolof that reflect African cultural values and wisdom.", placeholder="Entrez un prompt système..."),
39
  gr.Slider(50, 500, value=150, label="Nombre max de tokens")
40
  ],
41
  outputs="text",
42
+ title="Oolel Chatbot",
43
+ description="Entrez votre message et définissez un prompt pour générer des réponses dans l'esprit des contes africains en Wolof."
44
  )
45
 
46
  # Lancer l'interface