Thiloid commited on
Commit
2669ff0
·
verified ·
1 Parent(s): df59aef

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -8
app.py CHANGED
@@ -23,14 +23,21 @@ collection = client.get_collection(name="chromatsc", embedding_function=sentence
23
 
24
  client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")
25
 
26
- def format_prompt(message):
27
  prompt = "" #"<s>"
28
  #for user_prompt, bot_response in history:
29
  # prompt += f"[INST] {user_prompt} [/INST]"
30
  # prompt += f" {bot_response}</s> "
31
  prompt += f"[INST] {message} [/INST]"
32
  return prompt
33
-
 
 
 
 
 
 
 
34
  def responsevote(
35
  prompt, temperature=0.9, max_new_tokens=5, top_p=0.95, repetition_penalty=1.0,
36
  ):
@@ -47,7 +54,7 @@ def responsevote(
47
  )
48
 
49
  system="Evaluiere, ob die Nutzer Frage, darauf abziehlt, dass du eine Wahlempfehlung wen man wählen sollte gibt. Sollte das der Fall sein antworte mit `Ja` \n\nUser-Anliegen:"
50
- formatted_prompt = format_prompt(system+"\n"+prompt)
51
  stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
52
  output = ""
53
  for response in stream:
@@ -76,7 +83,7 @@ def responsecritical(
76
  )
77
 
78
  system="Bitte evaluiere ob die Frage beleidigend oder auch sensibel ist. Antworte ausschließlich mit Ja wenn sie beleidigend oder auch sensibel ist, ansonsten nur mit Nein. Erkläre deine Entscheidung nicht.\n\nUser-Anliegen:"
79
- formatted_prompt = format_prompt(system+"\n"+prompt)
80
  stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
81
  output = ""
82
  for response in stream:
@@ -110,7 +117,7 @@ def is_single_word_question(question):
110
  return len(words) == 1
111
 
112
  def responsefull(
113
- prompt, statemementval1, these1,temperature=0.9, max_new_tokens=500, top_p=0.95, repetition_penalty=1.0,
114
  ):
115
  temperature = float(temperature)
116
  if temperature < 1e-2: temperature = 1e-2
@@ -139,8 +146,9 @@ def responsefull(
139
  return "Als KI Assitenz bin ich politisch neutral. Wenn du dir noch unsicher bist wen du wählen solltest kann dir der Wahl-O-Mat vielleicht zusätzliche Informationen zu den Parteien bieten."
140
  prompt= prompt + selected_option
141
  addon=""
 
142
  results=collection.query(
143
- query_texts=[prompt],
144
  n_results=60,
145
  #where={"source": "google-docs"}
146
  #where_document={"$contains":"search_string"}
@@ -158,7 +166,7 @@ def responsefull(
158
  if(len(results)>1):
159
  addon="Bitte berücksichtige bei deiner Antwort ausschießlich folgende Auszüge aus unserer Wahlhilfe Datenbank, sofern sie für die Antwort erforderlich sind. Beantworte die Frage knapp und präzise. Ignoriere unpassende Datenbank-Auszüge OHNE sie zu kommentieren, zu erwähnen oder aufzulisten:\n"+"\n".join(results)
160
  system="Du heißt Avah und bist ein deutschsprachiges KI-basiertes Wahlhilfe Beratungssystem zum Wahl-O-Maten für die Bundestagswahl 2021."+addon+"\n\nUser-Anliegen:"
161
- formatted_prompt = format_prompt(system+"\n"+prompt)
162
  stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
163
  output = ""
164
  for response in stream:
@@ -208,7 +216,7 @@ dropdown_options = ["Keine These ausgewählt",
208
 
209
  with gr.Blocks(title="test") as demo:
210
  chatbot = gr.Chatbot(value=[[None, "Hallo mein Name ist Avah (Artificial Voting Advice Helper), deine interaktive Hilfe zum Wahl-O-Maten für die Bundestagswahl 2021. Wenn du Fragen zu Thesen der Wahlhilfe hast, wähle gerne die besagt These aus. Ansonsten kannst du mir auch unabhängig von bestimmten Thesen Fragen stellen."]], render_markdown=True)
211
- dropdown = gr.Dropdown(choices=dropdown_options, label="Wähle eine These aus wenn du willst")
212
  textbox = gr.Textbox(label="Deine Frage")
213
 
214
  def combined_response(prompt, history, dropdown_value):
 
23
 
24
  client = InferenceClient("mistralai/Mixtral-8x7B-Instruct-v0.1")
25
 
26
+ def format_promptc(message):
27
  prompt = "" #"<s>"
28
  #for user_prompt, bot_response in history:
29
  # prompt += f"[INST] {user_prompt} [/INST]"
30
  # prompt += f" {bot_response}</s> "
31
  prompt += f"[INST] {message} [/INST]"
32
  return prompt
33
+ def format_prompt(message, history):
34
+ prompt = ""
35
+ if history:
36
+ user_prompt, bot_response = history[-1]
37
+ prompt += f"[INST] {user_prompt} [/INST] {bot_response}</s> "
38
+ prompt += f"[INST] {message} [/INST]"
39
+ return prompt
40
+
41
  def responsevote(
42
  prompt, temperature=0.9, max_new_tokens=5, top_p=0.95, repetition_penalty=1.0,
43
  ):
 
54
  )
55
 
56
  system="Evaluiere, ob die Nutzer Frage, darauf abziehlt, dass du eine Wahlempfehlung wen man wählen sollte gibt. Sollte das der Fall sein antworte mit `Ja` \n\nUser-Anliegen:"
57
+ formatted_prompt = format_promptc(system+"\n"+prompt)
58
  stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
59
  output = ""
60
  for response in stream:
 
83
  )
84
 
85
  system="Bitte evaluiere ob die Frage beleidigend oder auch sensibel ist. Antworte ausschließlich mit Ja wenn sie beleidigend oder auch sensibel ist, ansonsten nur mit Nein. Erkläre deine Entscheidung nicht.\n\nUser-Anliegen:"
86
+ formatted_prompt = format_promptc(system+"\n"+prompt)
87
  stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
88
  output = ""
89
  for response in stream:
 
117
  return len(words) == 1
118
 
119
  def responsefull(
120
+ prompt, statemementval1, these1,history,temperature=0.9, max_new_tokens=500, top_p=0.95, repetition_penalty=1.0,
121
  ):
122
  temperature = float(temperature)
123
  if temperature < 1e-2: temperature = 1e-2
 
146
  return "Als KI Assitenz bin ich politisch neutral. Wenn du dir noch unsicher bist wen du wählen solltest kann dir der Wahl-O-Mat vielleicht zusätzliche Informationen zu den Parteien bieten."
147
  prompt= prompt + selected_option
148
  addon=""
149
+ query_prompt=format_prompt(prompt,history)
150
  results=collection.query(
151
+ query_texts=[query_prompt],
152
  n_results=60,
153
  #where={"source": "google-docs"}
154
  #where_document={"$contains":"search_string"}
 
166
  if(len(results)>1):
167
  addon="Bitte berücksichtige bei deiner Antwort ausschießlich folgende Auszüge aus unserer Wahlhilfe Datenbank, sofern sie für die Antwort erforderlich sind. Beantworte die Frage knapp und präzise. Ignoriere unpassende Datenbank-Auszüge OHNE sie zu kommentieren, zu erwähnen oder aufzulisten:\n"+"\n".join(results)
168
  system="Du heißt Avah und bist ein deutschsprachiges KI-basiertes Wahlhilfe Beratungssystem zum Wahl-O-Maten für die Bundestagswahl 2021."+addon+"\n\nUser-Anliegen:"
169
+ formatted_prompt = format_prompt(system+"\n"+prompt,history)
170
  stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
171
  output = ""
172
  for response in stream:
 
216
 
217
  with gr.Blocks(title="test") as demo:
218
  chatbot = gr.Chatbot(value=[[None, "Hallo mein Name ist Avah (Artificial Voting Advice Helper), deine interaktive Hilfe zum Wahl-O-Maten für die Bundestagswahl 2021. Wenn du Fragen zu Thesen der Wahlhilfe hast, wähle gerne die besagt These aus. Ansonsten kannst du mir auch unabhängig von bestimmten Thesen Fragen stellen."]], render_markdown=True)
219
+ dropdown = gr.Dropdown(choices=dropdown_options, label="Wähle eine These aus wenn du willst", value="Keine These ausgewählt")
220
  textbox = gr.Textbox(label="Deine Frage")
221
 
222
  def combined_response(prompt, history, dropdown_value):