alexkueck commited on
Commit
aa96542
1 Parent(s): 9764b41

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +48 -1
app.py CHANGED
@@ -199,7 +199,19 @@ def process_image(image_path, prompt):
199
  "max_tokens": 300
200
  }
201
  return headers, payload
202
-
 
 
 
 
 
 
 
 
 
 
 
 
203
 
204
  ###################################################
205
  #Funktion von Gradio aus, die den dort eingegebenen Prompt annimmt und weiterverarbeitet
@@ -288,6 +300,41 @@ def generate_text_zu_bild(file, prompt, k, rag_option, chatbot):
288
  result = data['choices'][0]['message']['content']
289
  return result
290
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
291
  ####################################################
292
  #aus einem Text-Prompt die Antwort von KI bekommen
293
  #mit oder ohne RAG möglich
 
199
  "max_tokens": 300
200
  }
201
  return headers, payload
202
+
203
+ ##################################################
204
+ #openassistant um uploaded Files zu analysieren
205
+ def create_assistant(prompt, file):
206
+ client = OpenAI()
207
+ assistant = client.beta.assistants.create(name="File Analysator",instructions=template, model="gpt-4-1106-preview",)
208
+ thread = client.beta.threads.create()
209
+ file_neu = client.files.create(file=open(file,"rb",),purpose="assistants",)
210
+ # Update Assistant
211
+ assistant = client.beta.assistants.update(assistant.id,tools=[{"type": "code_interpreter"}, {"type": "retrieval"}],file_ids=[file_neu.id],)
212
+ thread, run = create_thread_and_run(prompt)
213
+ run = wait_on_run(run, thread)
214
+ return get_response(thread))
215
 
216
  ###################################################
217
  #Funktion von Gradio aus, die den dort eingegebenen Prompt annimmt und weiterverarbeitet
 
300
  result = data['choices'][0]['message']['content']
301
  return result
302
 
303
+
304
+ ##################################################
305
+ #zu einem Bild und Text-Prompt eine Analyse generieren
306
+ def generate_text_zu_doc(file, prompt, k, rag_option, chatbot):
307
+ global splittet
308
+ print("text mit doc ..............................")
309
+ prompt_neu = prompt
310
+ if (rag_option == "An"):
311
+ print("Doc mit RAG..............................")
312
+ #muss nur einmal ausgeführt werden...
313
+ if not splittet:
314
+ splits = document_loading_splitting()
315
+ document_storage_chroma(splits)
316
+ db = document_retrieval_chroma2()
317
+ #mit RAG:
318
+ neu_text_mit_chunks = rag_chain2(prompt, db, k)
319
+ #für Chat LLM:
320
+ #prompt = generate_prompt_with_history_openai(neu_text_mit_chunks, history)
321
+ #als reiner prompt:
322
+ prompt_neu = generate_prompt_with_history(neu_text_mit_chunks, chatbot)
323
+
324
+
325
+ create_assistant(prompt_neu, file)
326
+
327
+
328
+
329
+ headers, payload = process_image(file, prompt_neu)
330
+ response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
331
+ #als json ausgeben
332
+ data = response.json()
333
+ # Den "content" auswählen, da dort die Antwort der Ki enthalten ist
334
+ result = data['choices'][0]['message']['content']
335
+ return result
336
+
337
+
338
  ####################################################
339
  #aus einem Text-Prompt die Antwort von KI bekommen
340
  #mit oder ohne RAG möglich