Spaces:
Runtime error
Runtime error
Commit
·
624a982
1
Parent(s):
a20173d
display error messages to users on chat panel
Browse files- demo/chat_frontend.py +9 -5
- demo/generation_frontend.py +10 -5
- demo/meta.py +5 -2
demo/chat_frontend.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
| 6 |
# Email : [email protected]
|
| 7 |
# Institute : Beijing Academy of Artificial Intelligence (BAAI)
|
| 8 |
# Create On : 2023-12-12 18:05
|
| 9 |
-
# Last Modified : 2023-12-21
|
| 10 |
# File Name : chat_frontend.py
|
| 11 |
# Description :
|
| 12 |
#
|
|
@@ -45,7 +45,7 @@ def submit(
|
|
| 45 |
|
| 46 |
if check_text + check_image + check_video != 1:
|
| 47 |
logging.info(f"{meta.log_id}: invalid input: give multi madality simultaneously for single modality input")
|
| 48 |
-
|
| 49 |
return meta.format_chatbot(), meta, None, None, ""
|
| 50 |
|
| 51 |
if check_text:
|
|
@@ -82,6 +82,11 @@ def generate(
|
|
| 82 |
|
| 83 |
meta.pop_error()
|
| 84 |
meta.pop()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
prompt = meta.format_chat()
|
| 86 |
|
| 87 |
prompt_list, image_list = [], {}
|
|
@@ -132,9 +137,9 @@ def generate(
|
|
| 132 |
if content["code"] == 0:
|
| 133 |
meta.append(Role.ASSISTANT, DataMeta.build(text=content["data"]))
|
| 134 |
else:
|
| 135 |
-
meta.append(Role.ASSISTANT, DataMeta.build(text=f"
|
| 136 |
else:
|
| 137 |
-
meta.append(Role.ASSISTANT, DataMeta.build(text=f"
|
| 138 |
|
| 139 |
return meta.format_chatbot(), meta
|
| 140 |
|
|
@@ -217,7 +222,6 @@ def build_chat(args):
|
|
| 217 |
|
| 218 |
gr.Markdown(TERM_OF_USE)
|
| 219 |
|
| 220 |
-
|
| 221 |
clear_btn.click(clear_history, inputs=state, outputs=[chatbot, state])
|
| 222 |
textbox.submit(
|
| 223 |
submit,
|
|
|
|
| 6 |
# Email : [email protected]
|
| 7 |
# Institute : Beijing Academy of Artificial Intelligence (BAAI)
|
| 8 |
# Create On : 2023-12-12 18:05
|
| 9 |
+
# Last Modified : 2023-12-21 04:08
|
| 10 |
# File Name : chat_frontend.py
|
| 11 |
# Description :
|
| 12 |
#
|
|
|
|
| 45 |
|
| 46 |
if check_text + check_image + check_video != 1:
|
| 47 |
logging.info(f"{meta.log_id}: invalid input: give multi madality simultaneously for single modality input")
|
| 48 |
+
meta.append(Role.ASSISTANT, DataMeta.build(text=f"Generate Failed: Invalid input number, must give exactly one modality input at a time", is_error=True))
|
| 49 |
return meta.format_chatbot(), meta, None, None, ""
|
| 50 |
|
| 51 |
if check_text:
|
|
|
|
| 82 |
|
| 83 |
meta.pop_error()
|
| 84 |
meta.pop()
|
| 85 |
+
|
| 86 |
+
if len(meta) == 0:
|
| 87 |
+
meta.append(Role.ASSISTANT, DataMeta.build(text=f"Generate Failed: Please enter a valid input", is_error=True))
|
| 88 |
+
return meta.format_chatbot(), meta
|
| 89 |
+
|
| 90 |
prompt = meta.format_chat()
|
| 91 |
|
| 92 |
prompt_list, image_list = [], {}
|
|
|
|
| 137 |
if content["code"] == 0:
|
| 138 |
meta.append(Role.ASSISTANT, DataMeta.build(text=content["data"]))
|
| 139 |
else:
|
| 140 |
+
meta.append(Role.ASSISTANT, DataMeta.build(text=f"Generate Failed: {content['data']}", is_error=True))
|
| 141 |
else:
|
| 142 |
+
meta.append(Role.ASSISTANT, DataMeta.build(text=f"Generate Failed: http failed with code {rsp.status_code}, msg: {rsp.text}", is_error=True))
|
| 143 |
|
| 144 |
return meta.format_chatbot(), meta
|
| 145 |
|
|
|
|
| 222 |
|
| 223 |
gr.Markdown(TERM_OF_USE)
|
| 224 |
|
|
|
|
| 225 |
clear_btn.click(clear_history, inputs=state, outputs=[chatbot, state])
|
| 226 |
textbox.submit(
|
| 227 |
submit,
|
demo/generation_frontend.py
CHANGED
|
@@ -6,7 +6,7 @@
|
|
| 6 |
# Email : [email protected]
|
| 7 |
# Institute : Beijing Academy of Artificial Intelligence (BAAI)
|
| 8 |
# Create On : 2023-12-11 15:35
|
| 9 |
-
# Last Modified : 2023-12-21
|
| 10 |
# File Name : generation_frontend.py
|
| 11 |
# Description :
|
| 12 |
#
|
|
@@ -48,13 +48,13 @@ def submit(
|
|
| 48 |
if enable_grd:
|
| 49 |
if text == "" and image is None:
|
| 50 |
logging.info(f"{meta.log_id}: invalid input: no valid data for grounding input")
|
| 51 |
-
|
| 52 |
return meta.format_chatbot(), meta, False, 0, 0, EVA_IMAGE_SIZE, EVA_IMAGE_SIZE, None, ""
|
| 53 |
|
| 54 |
meta.append(Role.USER, DataMeta.build(text=text, image=image, coordinate=[left, top, right, bottom]))
|
| 55 |
elif image is not None and text != "":
|
| 56 |
logging.info(f"{meta.log_id}: invalid input: give text and image simultaneously for single modality input")
|
| 57 |
-
|
| 58 |
return meta.format_chatbot(), meta, False, 0, 0, EVA_IMAGE_SIZE, EVA_IMAGE_SIZE, None, ""
|
| 59 |
elif image is not None:
|
| 60 |
meta.append(Role.USER, DataMeta.build(image=image))
|
|
@@ -76,6 +76,11 @@ def generate(meta, classifier_free_guidance, steps):
|
|
| 76 |
|
| 77 |
meta.pop_error()
|
| 78 |
meta.pop()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
prompt = meta.format_prompt()
|
| 80 |
|
| 81 |
prompt_list, image_list = [], {}
|
|
@@ -122,9 +127,9 @@ def generate(meta, classifier_free_guidance, steps):
|
|
| 122 |
image = Image.open(io.BytesIO(base64.b64decode(content["data"])))
|
| 123 |
meta.append(Role.ASSISTANT, DataMeta.build(image=image, resize=False))
|
| 124 |
else:
|
| 125 |
-
meta.append(Role.ASSISTANT, DataMeta.build(text=f"
|
| 126 |
else:
|
| 127 |
-
meta.append(Role.ASSISTANT, DataMeta.build(text=f"
|
| 128 |
|
| 129 |
return meta.format_chatbot(), meta
|
| 130 |
|
|
|
|
| 6 |
# Email : [email protected]
|
| 7 |
# Institute : Beijing Academy of Artificial Intelligence (BAAI)
|
| 8 |
# Create On : 2023-12-11 15:35
|
| 9 |
+
# Last Modified : 2023-12-21 04:17
|
| 10 |
# File Name : generation_frontend.py
|
| 11 |
# Description :
|
| 12 |
#
|
|
|
|
| 48 |
if enable_grd:
|
| 49 |
if text == "" and image is None:
|
| 50 |
logging.info(f"{meta.log_id}: invalid input: no valid data for grounding input")
|
| 51 |
+
meta.append(Role.ASSISTANT, DataMeta.build(text=f"Input Error: Text or image must be given if enable grounding generation", is_error=True))
|
| 52 |
return meta.format_chatbot(), meta, False, 0, 0, EVA_IMAGE_SIZE, EVA_IMAGE_SIZE, None, ""
|
| 53 |
|
| 54 |
meta.append(Role.USER, DataMeta.build(text=text, image=image, coordinate=[left, top, right, bottom]))
|
| 55 |
elif image is not None and text != "":
|
| 56 |
logging.info(f"{meta.log_id}: invalid input: give text and image simultaneously for single modality input")
|
| 57 |
+
meta.append(Role.ASSISTANT, DataMeta.build(text=f"Input Error: Do not submit text and image data at the same time!!!", is_error=True))
|
| 58 |
return meta.format_chatbot(), meta, False, 0, 0, EVA_IMAGE_SIZE, EVA_IMAGE_SIZE, None, ""
|
| 59 |
elif image is not None:
|
| 60 |
meta.append(Role.USER, DataMeta.build(image=image))
|
|
|
|
| 76 |
|
| 77 |
meta.pop_error()
|
| 78 |
meta.pop()
|
| 79 |
+
|
| 80 |
+
if len(meta) == 0:
|
| 81 |
+
meta.append(Role.ASSISTANT, DataMeta.build(text=f"Generate Failed: Please enter a valid input", is_error=True))
|
| 82 |
+
return meta.format_chatbot(), meta
|
| 83 |
+
|
| 84 |
prompt = meta.format_prompt()
|
| 85 |
|
| 86 |
prompt_list, image_list = [], {}
|
|
|
|
| 127 |
image = Image.open(io.BytesIO(base64.b64decode(content["data"])))
|
| 128 |
meta.append(Role.ASSISTANT, DataMeta.build(image=image, resize=False))
|
| 129 |
else:
|
| 130 |
+
meta.append(Role.ASSISTANT, DataMeta.build(text=f"Generate Failed: {content['data']}", is_error=True))
|
| 131 |
else:
|
| 132 |
+
meta.append(Role.ASSISTANT, DataMeta.build(text=f"Generate Failed: http failed with code {rsp.status_code}, msg: {rsp.text}", is_error=True))
|
| 133 |
|
| 134 |
return meta.format_chatbot(), meta
|
| 135 |
|
demo/meta.py
CHANGED
|
@@ -8,14 +8,14 @@
|
|
| 8 |
# Email : [email protected]
|
| 9 |
# Institute : Beijing Academy of Artificial Intelligence (BAAI)
|
| 10 |
# Create On : 2023-12-12 02:54
|
| 11 |
-
# Last Modified : 2023-12-
|
| 12 |
# File Name : meta.py
|
| 13 |
# Description :
|
| 14 |
#
|
| 15 |
# ===========================================================================================
|
| 16 |
|
| 17 |
import base64
|
| 18 |
-
from dataclasses import dataclass
|
| 19 |
import io
|
| 20 |
from enum import Enum
|
| 21 |
from PIL import Image
|
|
@@ -306,3 +306,6 @@ class ConvMeta:
|
|
| 306 |
if self.message[-1][0] == Role.USER:
|
| 307 |
return False
|
| 308 |
return True
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
# Email : [email protected]
|
| 9 |
# Institute : Beijing Academy of Artificial Intelligence (BAAI)
|
| 10 |
# Create On : 2023-12-12 02:54
|
| 11 |
+
# Last Modified : 2023-12-21 04:17
|
| 12 |
# File Name : meta.py
|
| 13 |
# Description :
|
| 14 |
#
|
| 15 |
# ===========================================================================================
|
| 16 |
|
| 17 |
import base64
|
| 18 |
+
from dataclasses import dataclass
|
| 19 |
import io
|
| 20 |
from enum import Enum
|
| 21 |
from PIL import Image
|
|
|
|
| 306 |
if self.message[-1][0] == Role.USER:
|
| 307 |
return False
|
| 308 |
return True
|
| 309 |
+
|
| 310 |
+
def __len__(self):
|
| 311 |
+
return len(self.message)
|