Elouarn commited on
Commit
84a86eb
1 Parent(s): 670fe06

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -14
app.py CHANGED
@@ -3,9 +3,8 @@ import gradio as gr
3
 
4
  client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")
5
 
6
- # Variable globale pour stocker le contexte et l'historique de la conversation
7
  global_context = {"preprompt": "Bienvenue dans ma taverne!", "hidden_context": "tu es le personnage dun escape game sur la resolution d un meutre dans l univers des cathares au 14 eme siecle dans les Pyrénées, tu es le gérant d une taverne qui est cathare dans le village de montaillou, parle que en français, assez rustre mais qui demeure accueillant tant que son interlocuteur n est pas catholique ou du moins quelqu un avec une influence tel qu un noble, tu n es jamais hors contexte par rapport à ton époque, tes connaissances se limite à ta situation sociale et ton époque, il faut que tu sois immersif pour la personne qui va te parler, et tu dois cacher ton implication dans le meutre si on te pose des questions à ce sujet tu dois tourner la discussion à ton avantage et le dévier du meutre"}
8
- conversation_history = []
9
 
10
  def format_prompt(message, history):
11
  prompt = "<s>"
@@ -20,7 +19,7 @@ def format_prompt(message, history):
20
 
21
  return prompt
22
 
23
- def generate(prompt, temperature=0.2, max_new_tokens=256, top_p=0.95, repetition_penalty=1.0):
24
  temperature = float(temperature)
25
  if temperature < 1e-2:
26
  temperature = 1e-2
@@ -35,7 +34,7 @@ def generate(prompt, temperature=0.2, max_new_tokens=256, top_p=0.95, repetition
35
  seed=42,
36
  )
37
 
38
- formatted_prompt = format_prompt(prompt, conversation_history)
39
  formatted_prompt += f"[INST] {global_context['hidden_context']} [/INST]"
40
 
41
  stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
@@ -45,19 +44,18 @@ def generate(prompt, temperature=0.2, max_new_tokens=256, top_p=0.95, repetition
45
  # Exclure le contexte caché de la réponse retournée par le modèle
46
  response_text = response.token.text.replace(global_context['hidden_context'], "")
47
  output += response_text
48
- # Mettre à jour l'historique de la conversation
49
- conversation_history.append((formatted_prompt, response_text))
50
- return output
51
 
52
  mychatbot = gr.Chatbot(
53
  avatar_images=["./berger.jpg", "./tavernier.jpg"], bubble_full_width=False, show_label=False)
54
 
55
- demo = gr.Interface(fn=generate,
56
- inputs="text", # L'entrée est un seul champ de texte
57
- outputs="text", # La sortie est un champ de texte
58
- live=True,
59
- title="Tavernier 🍺"
60
- )
61
 
62
  # Lancer l'interface
63
- demo.launch()
 
3
 
4
  client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")
5
 
6
+ # Variable globale pour stocker le contexte
7
  global_context = {"preprompt": "Bienvenue dans ma taverne!", "hidden_context": "tu es le personnage dun escape game sur la resolution d un meutre dans l univers des cathares au 14 eme siecle dans les Pyrénées, tu es le gérant d une taverne qui est cathare dans le village de montaillou, parle que en français, assez rustre mais qui demeure accueillant tant que son interlocuteur n est pas catholique ou du moins quelqu un avec une influence tel qu un noble, tu n es jamais hors contexte par rapport à ton époque, tes connaissances se limite à ta situation sociale et ton époque, il faut que tu sois immersif pour la personne qui va te parler, et tu dois cacher ton implication dans le meutre si on te pose des questions à ce sujet tu dois tourner la discussion à ton avantage et le dévier du meutre"}
 
8
 
9
  def format_prompt(message, history):
10
  prompt = "<s>"
 
19
 
20
  return prompt
21
 
22
+ def generate(prompt, history, temperature=0.2, max_new_tokens=256, top_p=0.95, repetition_penalty=1.0):
23
  temperature = float(temperature)
24
  if temperature < 1e-2:
25
  temperature = 1e-2
 
34
  seed=42,
35
  )
36
 
37
+ formatted_prompt = format_prompt(prompt, history)
38
  formatted_prompt += f"[INST] {global_context['hidden_context']} [/INST]"
39
 
40
  stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
 
44
  # Exclure le contexte caché de la réponse retournée par le modèle
45
  response_text = response.token.text.replace(global_context['hidden_context'], "")
46
  output += response_text
47
+ yield output
48
+ return output
 
49
 
50
  mychatbot = gr.Chatbot(
51
  avatar_images=["./berger.jpg", "./tavernier.jpg"], bubble_full_width=False, show_label=False)
52
 
53
+ demo = gr.ChatInterface(fn=generate,
54
+ chatbot=mychatbot,
55
+ title="Tavernier 🍺",
56
+ retry_btn=None,
57
+ undo_btn=None
58
+ )
59
 
60
  # Lancer l'interface
61
+ demo.queue().launch(show_api=True)