Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -22,8 +22,12 @@ interpreter.custom_instructions = "First ask the user what they want to do. Base
|
|
| 22 |
|
| 23 |
def update_bot(text, chatbot):
|
| 24 |
response_json = interpreter.chat(text, stream=True, display=False)
|
| 25 |
-
formatted_response = json_to_markdown(response_json)
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
return chatbot, ""
|
| 28 |
|
| 29 |
|
|
@@ -59,11 +63,23 @@ def create_chat_widget():
|
|
| 59 |
|
| 60 |
def json_to_markdown(json_data):
|
| 61 |
full_message = []
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
for item in json_data:
|
| 63 |
if item['role'] == 'assistant' and item['type'] == 'message':
|
| 64 |
content = item.get('content', " ")
|
| 65 |
-
|
| 66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
|
| 68 |
|
| 69 |
with gr.Blocks() as demo:
|
|
|
|
| 22 |
|
| 23 |
def update_bot(text, chatbot):
|
| 24 |
response_json = interpreter.chat(text, stream=True, display=False)
|
| 25 |
+
formatted_response, images = json_to_markdown(response_json)
|
| 26 |
+
message = " ".join(formatted_response)
|
| 27 |
+
if message:
|
| 28 |
+
chatbot.append(("Assistant", message))
|
| 29 |
+
for img_path in images:
|
| 30 |
+
chatbot.append(("Assistant", img_path)) # Append image paths directly
|
| 31 |
return chatbot, ""
|
| 32 |
|
| 33 |
|
|
|
|
| 63 |
|
| 64 |
def json_to_markdown(json_data):
|
| 65 |
full_message = []
|
| 66 |
+
images = []
|
| 67 |
+
# Regex to detect URLs; this is a simple version and might need to be adapted
|
| 68 |
+
url_pattern = r'(http[s]?://\S+|sandbox:/\S+)'
|
| 69 |
+
|
| 70 |
for item in json_data:
|
| 71 |
if item['role'] == 'assistant' and item['type'] == 'message':
|
| 72 |
content = item.get('content', " ")
|
| 73 |
+
# Find all URLs in the content
|
| 74 |
+
urls = re.findall(url_pattern, content)
|
| 75 |
+
# Append any detected URLs to the images list
|
| 76 |
+
images.extend(urls)
|
| 77 |
+
# Remove URLs from the content
|
| 78 |
+
content = re.sub(url_pattern, "", content).strip()
|
| 79 |
+
if content:
|
| 80 |
+
full_message.append(content)
|
| 81 |
+
return full_message, images
|
| 82 |
+
|
| 83 |
|
| 84 |
|
| 85 |
with gr.Blocks() as demo:
|