bstraehle commited on
Commit
2df7342
·
verified ·
1 Parent(s): 894a6f3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -24
app.py CHANGED
@@ -11,11 +11,9 @@ import gradio as gr
11
  import os
12
 
13
  from assistants import (
14
- get_openai_client,
15
  set_openai_client,
16
- get_assistant,
17
  set_assistant,
18
- get_thread,
19
  set_thread,
20
  create_assistant,
21
  load_assistant,
@@ -35,29 +33,32 @@ def chat(message, history, openai_api_key):
35
  if not message:
36
  raise gr.Error("Message is required.")
37
 
38
- if get_openai_client() == None:
39
- set_openai_client(openai_api_key)
40
-
41
- if get_assistant() == None:
42
- #set_assistant(create_assistant())
43
- set_assistant(load_assistant())
44
-
45
- if get_thread() == None or len(history) == 0:
46
- set_thread(create_thread())
47
-
48
- create_message(get_thread(), message)
49
- run = create_run(get_assistant(), get_thread())
50
- run = wait_on_run(get_thread(), run)
51
- run_steps = get_run_steps(get_thread(), run)
52
- recurse_execute_tool_calls(get_thread(), run, run_steps, 0)
53
- messages = get_messages(get_thread())
54
- text_values, image_values = extract_content_values(messages)
55
-
56
  download_link = ""
57
 
58
- # TODO: Handle multiple images and other file types
59
- if len(image_values) > 0:
60
- download_link = f"<hr>[Download](https://platform.openai.com/storage/files/{image_values[0]})"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
 
62
  return f"{'<hr>'.join(list(reversed(text_values))[1:])}{download_link}"
63
  #return f"{text_values[0]}{download_link}"
 
11
  import os
12
 
13
  from assistants import (
14
+ get_thread,
15
  set_openai_client,
 
16
  set_assistant,
 
17
  set_thread,
18
  create_assistant,
19
  load_assistant,
 
33
  if not message:
34
  raise gr.Error("Message is required.")
35
 
36
+ text_values, image_values = [], []
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  download_link = ""
38
 
39
+ try:
40
+ # TODO: Use Gradio session
41
+ if get_thread() == None or len(history) == 0:
42
+ set_openai_client(openai_api_key)
43
+
44
+ #set_assistant(create_assistant()) # first run
45
+ set_assistant(load_assistant()) # subsequent runs
46
+
47
+ set_thread(create_thread())
48
+
49
+ create_message(get_thread(), message)
50
+ run = create_run(get_assistant(), get_thread())
51
+ run = wait_on_run(get_thread(), run)
52
+ run_steps = get_run_steps(get_thread(), run)
53
+ recurse_execute_tool_calls(get_thread(), run, run_steps, 0)
54
+ messages = get_messages(get_thread())
55
+ text_values, image_values = extract_content_values(messages)
56
+
57
+ # TODO: Handle multiple images and other file types
58
+ if len(image_values) > 0:
59
+ download_link = f"<hr>[Download](https://platform.openai.com/storage/files/{image_values[0]})"
60
+ except Exception as e:
61
+ raise gr.Error(e)
62
 
63
  return f"{'<hr>'.join(list(reversed(text_values))[1:])}{download_link}"
64
  #return f"{text_values[0]}{download_link}"