alexkueck commited on
Commit
5c4def0
1 Parent(s): e2c17e6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -3
app.py CHANGED
@@ -9,6 +9,8 @@ import io
9
  from PIL import Image, ImageDraw, ImageOps, ImageFont
10
  import base64
11
 
 
 
12
  from langchain.chains import LLMChain, RetrievalQA
13
  from langchain.chat_models import ChatOpenAI
14
  from langchain.document_loaders import PyPDFLoader, WebBaseLoader, UnstructuredWordDocumentLoader, DirectoryLoader
@@ -208,11 +210,14 @@ def process_image(image_path, prompt):
208
 
209
  ##################################################
210
  #openassistant um uploaded Files zu analysieren
211
- def create_assistant(prompt, file):
212
  global client, general_assistant
213
  #neues File dem Assistant hinzufügen
214
  file_neu = client.files.create(file=open(file,"rb",),purpose="assistants",)
215
  # Update Assistant
 
 
 
216
  updated_assistant = client.beta.assistants.update(general_assistant.id,tools=[{"type": "code_interpreter"}, {"type": "retrieval"}],file_ids=[file_neu.id],)
217
  thread, run = create_thread_and_run(prompt, client, updated_assistant.id)
218
  run = wait_on_run(run, thread, client)
@@ -220,6 +225,14 @@ def create_assistant(prompt, file):
220
  result = response.data[1].content[0].text.value
221
  return result
222
 
 
 
 
 
 
 
 
 
223
  ###################################################
224
  #Funktion von Gradio aus, die den dort eingegebenen Prompt annimmt und weiterverarbeitet
225
  ###################################################
@@ -333,7 +346,7 @@ def generate_text_zu_doc(file, prompt, k, rag_option, chatbot, db):
333
  #als reiner prompt:
334
  prompt_neu = generate_prompt_with_history(neu_text_mit_chunks, chatbot)
335
 
336
- result = create_assistant(prompt_neu, file)
337
  return result
338
 
339
 
@@ -396,7 +409,11 @@ def generate_text (prompt, chatbot, history, rag_option, model_option, openai_ap
396
  splittet = False
397
  print("LLM aufrufen ohne RAG: ...........")
398
  result = llm_chain(llm, history_text_und_prompt)
399
-
 
 
 
 
400
  except Exception as e:
401
  raise gr.Error(e)
402
 
 
9
  from PIL import Image, ImageDraw, ImageOps, ImageFont
10
  import base64
11
 
12
+ from tavily import TavilyClient
13
+
14
  from langchain.chains import LLMChain, RetrievalQA
15
  from langchain.chat_models import ChatOpenAI
16
  from langchain.document_loaders import PyPDFLoader, WebBaseLoader, UnstructuredWordDocumentLoader, DirectoryLoader
 
210
 
211
  ##################################################
212
  #openassistant um uploaded Files zu analysieren
213
+ def create_assistant_file(prompt, file):
214
  global client, general_assistant
215
  #neues File dem Assistant hinzufügen
216
  file_neu = client.files.create(file=open(file,"rb",),purpose="assistants",)
217
  # Update Assistant
218
+ #wenn type: code_interpreter, wird das file mit angehängt an den Prpmt, aber vorher nicht bearbeitet
219
+ #wenn type: retrieval, wird das Dokument vorher embedded in einem vektorstore und nur entsprechende chunks mitgegeben.
220
+ #pro Assistant 20 cent pro Tag als Nutzung - egal wie viele Fragen dazu.
221
  updated_assistant = client.beta.assistants.update(general_assistant.id,tools=[{"type": "code_interpreter"}, {"type": "retrieval"}],file_ids=[file_neu.id],)
222
  thread, run = create_thread_and_run(prompt, client, updated_assistant.id)
223
  run = wait_on_run(run, thread, client)
 
225
  result = response.data[1].content[0].text.value
226
  return result
227
 
228
+ ##################################################
229
+ #openassistant um im Netz zu suchen
230
+ def create_assistant_suche(prompt):
231
+ global client, general_assistant
232
+ #neues File dem Assistant hinzufügen
233
+
234
+ return result
235
+
236
  ###################################################
237
  #Funktion von Gradio aus, die den dort eingegebenen Prompt annimmt und weiterverarbeitet
238
  ###################################################
 
346
  #als reiner prompt:
347
  prompt_neu = generate_prompt_with_history(neu_text_mit_chunks, chatbot)
348
 
349
+ result = create_assistant_file(prompt_neu, file)
350
  return result
351
 
352
 
 
409
  splittet = False
410
  print("LLM aufrufen ohne RAG: ...........")
411
  result = llm_chain(llm, history_text_und_prompt)
412
+
413
+ #Wenn keine Antwort möglich "Ich weiß es nicht", dann versuchen mit Suche im Internet.
414
+ if (result == "Ich weiß es nicht."):
415
+ result = create_assistant_suche(history_text_und_prompt)
416
+
417
  except Exception as e:
418
  raise gr.Error(e)
419