Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -11,11 +11,9 @@ import gradio as gr
|
|
11 |
import os
|
12 |
|
13 |
from assistants import (
|
14 |
-
|
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 |
-
|
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 |
-
|
59 |
-
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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}"
|