alexkueck commited on
Commit
f96ce19
1 Parent(s): eea8371

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -7
app.py CHANGED
@@ -160,7 +160,9 @@ def rag_chain(llm, prompt, db):
160
  return result["result"]
161
 
162
  ###################################################
163
- #Funktion, die einen Prompt mit der history zusammen erzeugt
 
 
164
  def generate_prompt_with_history(text, history, max_length=2048):
165
  #prompt = "The following is a conversation between a human and an AI assistant named Baize (named after a mythical creature in Chinese folklore). Baize is an open-source AI assistant developed by UCSD and Sun Yat-Sen University. The human and the AI assistant take turns chatting. Human statements start with [|Human|] and AI assistant statements start with [|AI|]. The AI assistant always provides responses in as much detail as possible, and in Markdown format. The AI assistant always declines to engage with topics, questions and instructions related to unethical, controversial, or sensitive issues. Complete the transcript in exactly that format.\n[|Human|]Hello!\n[|AI|]Hi!"
166
  #prompt = "Das folgende ist eine Unterhaltung in deutsch zwischen einem Menschen und einem KI-Assistenten, der Baize genannt wird. Baize ist ein open-source KI-Assistent, der von UCSD entwickelt wurde. Der Mensch und der KI-Assistent chatten abwechselnd miteinander in deutsch. Die Antworten des KI Assistenten sind immer so ausführlich wie möglich und in Markdown Schreibweise und in deutscher Sprache. Wenn nötig übersetzt er sie ins Deutsche. Die Antworten des KI-Assistenten vermeiden Themen und Antworten zu unethischen, kontroversen oder sensiblen Themen. Die Antworten sind immer sehr höflich formuliert..\n[|Human|]Hallo!\n[|AI|]Hi!"
@@ -178,6 +180,23 @@ def generate_prompt_with_history(text, history, max_length=2048):
178
  else:
179
  return None
180
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
181
 
182
 
183
  ###################################################
@@ -186,7 +205,14 @@ def invoke (prompt, history, openai_api_key, rag_option, temperature=0.9, max_ne
186
  global splittet
187
 
188
  #Prompt an history anhängen und einen Text daraus machen
189
- history_text_und_prompt = generate_prompt_with_history(prompt, history)
 
 
 
 
 
 
 
190
 
191
  if (openai_api_key == "" or openai_api_key == "sk-"):
192
  #raise gr.Error("OpenAI API Key is required.")
@@ -230,11 +256,6 @@ def invoke (prompt, history, openai_api_key, rag_option, temperature=0.9, max_ne
230
  ###############################################
231
  #Beschreibung oben in GUI
232
  ################################################
233
- #GUI
234
- ###############################################
235
- #Beschreibung oben in GUI
236
-
237
- ###########################################
238
  title = "LLM mit RAG"
239
  description = """<strong>Überblick:</strong> Hier wird ein <strong>Large Language Model (LLM)</strong> mit
240
  <strong>Retrieval Augmented Generation (RAG)</strong> auf <strong>externen Daten</strong> demonstriert.\n\n
 
160
  return result["result"]
161
 
162
  ###################################################
163
+ #Prompts mit History erzeugen für verschiednee Modelle
164
+ ###################################################
165
+ #Funktion, die einen Prompt mit der history zusammen erzeugt - allgemein
166
  def generate_prompt_with_history(text, history, max_length=2048):
167
  #prompt = "The following is a conversation between a human and an AI assistant named Baize (named after a mythical creature in Chinese folklore). Baize is an open-source AI assistant developed by UCSD and Sun Yat-Sen University. The human and the AI assistant take turns chatting. Human statements start with [|Human|] and AI assistant statements start with [|AI|]. The AI assistant always provides responses in as much detail as possible, and in Markdown format. The AI assistant always declines to engage with topics, questions and instructions related to unethical, controversial, or sensitive issues. Complete the transcript in exactly that format.\n[|Human|]Hello!\n[|AI|]Hi!"
168
  #prompt = "Das folgende ist eine Unterhaltung in deutsch zwischen einem Menschen und einem KI-Assistenten, der Baize genannt wird. Baize ist ein open-source KI-Assistent, der von UCSD entwickelt wurde. Der Mensch und der KI-Assistent chatten abwechselnd miteinander in deutsch. Die Antworten des KI Assistenten sind immer so ausführlich wie möglich und in Markdown Schreibweise und in deutscher Sprache. Wenn nötig übersetzt er sie ins Deutsche. Die Antworten des KI-Assistenten vermeiden Themen und Antworten zu unethischen, kontroversen oder sensiblen Themen. Die Antworten sind immer sehr höflich formuliert..\n[|Human|]Hallo!\n[|AI|]Hi!"
 
180
  else:
181
  return None
182
 
183
+ #Prompt und History für OPenAi Schnittstelle
184
+ def generate_prompt_with_history_openai(prompt, history):
185
+ history_openai_format = []
186
+ for human, assistant in history:
187
+ history_openai_format.append({"role": "user", "content": human })
188
+ history_openai_format.append({"role": "assistant", "content":assistant})
189
+
190
+ history_openai_format.append({"role": "user", "content": prompt})
191
+ return history_openai_format
192
+
193
+ #Prompt und History für Hugging Face Schnittstelle
194
+ def generate_prompt_with_history_hf(prompt, history):
195
+ history_transformer_format = history + [[prompt, ""]]
196
+ #stop = StopOnTokens()
197
+
198
+ messages = "".join(["".join(["\n<human>:"+item[0], "\n<bot>:"+item[1]]) #curr_system_message +
199
+ for item in history_transformer_format])
200
 
201
 
202
  ###################################################
 
205
  global splittet
206
 
207
  #Prompt an history anhängen und einen Text daraus machen
208
+ #history_text_und_prompt = generate_prompt_with_history(prompt, history)
209
+
210
+ #history für HuggingFace Models formatieren
211
+ #history_text_und_prompt = generate_prompt_with_history_hf(prompt, history)
212
+
213
+ #history für openAi formatieren
214
+ history_text_und_prompt = generate_prompt_with_history_openai(prompt, history)
215
+
216
 
217
  if (openai_api_key == "" or openai_api_key == "sk-"):
218
  #raise gr.Error("OpenAI API Key is required.")
 
256
  ###############################################
257
  #Beschreibung oben in GUI
258
  ################################################
 
 
 
 
 
259
  title = "LLM mit RAG"
260
  description = """<strong>Überblick:</strong> Hier wird ein <strong>Large Language Model (LLM)</strong> mit
261
  <strong>Retrieval Augmented Generation (RAG)</strong> auf <strong>externen Daten</strong> demonstriert.\n\n