Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
|
9 |
import gradio as gr
|
10 |
|
11 |
-
import os
|
12 |
|
13 |
from assistants import (
|
14 |
set_openai_client,
|
@@ -34,37 +34,37 @@ def chat(message, history, openai_api_key):
|
|
34 |
if not message:
|
35 |
raise gr.Error("Message is required.")
|
36 |
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
messages = get_messages(get_thread())
|
59 |
-
text_values, image_values = extract_content_values(messages)
|
60 |
-
|
61 |
-
# TODO: Handle multiple images and other file types
|
62 |
-
if len(image_values) > 0:
|
63 |
-
download_link = f"<hr>[Download](https://platform.openai.com/storage/files/{image_values[0]})"
|
64 |
-
except Exception as e:
|
65 |
-
raise gr.Error(e)
|
66 |
|
67 |
-
|
68 |
|
69 |
gr.ChatInterface(
|
70 |
fn=chat,
|
|
|
8 |
|
9 |
import gradio as gr
|
10 |
|
11 |
+
import os, threading
|
12 |
|
13 |
from assistants import (
|
14 |
set_openai_client,
|
|
|
34 |
if not message:
|
35 |
raise gr.Error("Message is required.")
|
36 |
|
37 |
+
with lock:
|
38 |
+
text_values, image_values = [], []
|
39 |
+
download_link = ""
|
40 |
+
|
41 |
+
try:
|
42 |
+
if os.environ["OPENAI_API_KEY"] != openai_api_key:
|
43 |
+
os.environ["OPENAI_API_KEY"] = openai_api_key
|
44 |
+
|
45 |
+
set_openai_client()
|
46 |
+
|
47 |
+
#set_assistant(create_assistant()) # first run
|
48 |
+
set_assistant(load_assistant()) # subsequent runs
|
49 |
+
|
50 |
+
if get_thread() == None or len(history) == 0:
|
51 |
+
set_thread(create_thread())
|
52 |
+
|
53 |
+
create_message(get_thread(), message)
|
54 |
+
run = create_run(get_assistant(), get_thread())
|
55 |
+
run = wait_on_run(get_thread(), run)
|
56 |
+
run_steps = get_run_steps(get_thread(), run)
|
57 |
+
recurse_execute_tool_calls(get_thread(), run, run_steps, 0)
|
58 |
+
messages = get_messages(get_thread())
|
59 |
+
text_values, image_values = extract_content_values(messages)
|
60 |
|
61 |
+
# TODO: Handle multiple images and other file types
|
62 |
+
if len(image_values) > 0:
|
63 |
+
download_link = f"<hr>[Download](https://platform.openai.com/storage/files/{image_values[0]})"
|
64 |
+
except Exception as e:
|
65 |
+
raise gr.Error(e)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
|
67 |
+
return f"{'<hr>'.join(list(reversed(text_values))[1:])}{download_link}"
|
68 |
|
69 |
gr.ChatInterface(
|
70 |
fn=chat,
|