Update app.py
Browse files
app.py
CHANGED
|
@@ -176,6 +176,21 @@ def update_vote(vote_type, session_id, is_example_image):
|
|
| 176 |
with open("./assets/showui.png", "rb") as image_file:
|
| 177 |
base64_image = base64.b64encode(image_file.read()).decode("utf-8")
|
| 178 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 179 |
def build_demo(embed_mode, concurrency_count=1):
|
| 180 |
with gr.Blocks(title="ShowUI Demo", theme=gr.themes.Default()) as demo:
|
| 181 |
state_image_path = gr.State(value=None)
|
|
@@ -217,17 +232,17 @@ def build_demo(embed_mode, concurrency_count=1):
|
|
| 217 |
|
| 218 |
gr.Examples(
|
| 219 |
examples=[
|
| 220 |
-
["./examples/app_store.png", "Download Kindle."],
|
| 221 |
-
["./examples/ios_setting.png", "Turn off Do not disturb."],
|
| 222 |
-
["./examples/apple_music.png", "Star to favorite."],
|
| 223 |
-
["./examples/map.png", "Boston."],
|
| 224 |
-
["./examples/wallet.png", "Scan a QR code."],
|
| 225 |
-
["./examples/word.png", "More shapes."],
|
| 226 |
-
["./examples/web_shopping.png", "Proceed to checkout."],
|
| 227 |
-
["./examples/web_forum.png", "Post my comment."],
|
| 228 |
-
["./examples/safari_google.png", "Click on search bar."],
|
| 229 |
],
|
| 230 |
-
inputs=[imagebox, textbox],
|
| 231 |
examples_per_page=3
|
| 232 |
)
|
| 233 |
|
|
@@ -245,23 +260,9 @@ def build_demo(embed_mode, concurrency_count=1):
|
|
| 245 |
downvote_btn = gr.Button(value="Too bad!", variant="secondary")
|
| 246 |
clear_btn = gr.Button(value="🗑️ Clear", interactive=True)
|
| 247 |
|
| 248 |
-
def on_submit(image, query):
|
| 249 |
-
if image is None:
|
| 250 |
-
raise ValueError("No image provided. Please upload an image before submitting.")
|
| 251 |
-
|
| 252 |
-
session_id = datetime.now().strftime("%Y%m%d_%H%M%S")
|
| 253 |
-
print("image_path:", image)
|
| 254 |
-
is_example_image = isinstance(image, str) and image.startswith("./examples/")
|
| 255 |
-
|
| 256 |
-
result_image, click_coords, image_path = run_showui(image, query, session_id)
|
| 257 |
-
|
| 258 |
-
save_and_upload_data(image_path, query, session_id, is_example_image)
|
| 259 |
-
|
| 260 |
-
return result_image, click_coords, image_path, session_id, is_example_image
|
| 261 |
-
|
| 262 |
submit_btn.click(
|
| 263 |
on_submit,
|
| 264 |
-
[imagebox, textbox],
|
| 265 |
[output_img, output_coords, state_image_path, state_session_id, state_is_example_image],
|
| 266 |
)
|
| 267 |
|
|
@@ -296,3 +297,12 @@ if __name__ == "__main__":
|
|
| 296 |
ssr_mode=False,
|
| 297 |
debug=True,
|
| 298 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 176 |
with open("./assets/showui.png", "rb") as image_file:
|
| 177 |
base64_image = base64.b64encode(image_file.read()).decode("utf-8")
|
| 178 |
|
| 179 |
+
def on_submit(image, query, example_flag):
|
| 180 |
+
if image is None:
|
| 181 |
+
raise ValueError("No image provided. Please upload an image before submitting.")
|
| 182 |
+
|
| 183 |
+
session_id = datetime.now().strftime("%Y%m%d_%H%M%S")
|
| 184 |
+
|
| 185 |
+
# Use the example_flag to determine if the image is an example
|
| 186 |
+
is_example_image = example_flag
|
| 187 |
+
|
| 188 |
+
result_image, click_coords, image_path = run_showui(image, query, session_id)
|
| 189 |
+
|
| 190 |
+
save_and_upload_data(image_path, query, session_id, is_example_image)
|
| 191 |
+
|
| 192 |
+
return result_image, click_coords, image_path, session_id, is_example_image
|
| 193 |
+
|
| 194 |
def build_demo(embed_mode, concurrency_count=1):
|
| 195 |
with gr.Blocks(title="ShowUI Demo", theme=gr.themes.Default()) as demo:
|
| 196 |
state_image_path = gr.State(value=None)
|
|
|
|
| 232 |
|
| 233 |
gr.Examples(
|
| 234 |
examples=[
|
| 235 |
+
["./examples/app_store.png", "Download Kindle.", True],
|
| 236 |
+
["./examples/ios_setting.png", "Turn off Do not disturb.", True],
|
| 237 |
+
["./examples/apple_music.png", "Star to favorite.", True],
|
| 238 |
+
["./examples/map.png", "Boston.", True],
|
| 239 |
+
["./examples/wallet.png", "Scan a QR code.", True],
|
| 240 |
+
["./examples/word.png", "More shapes.", True],
|
| 241 |
+
["./examples/web_shopping.png", "Proceed to checkout.", True],
|
| 242 |
+
["./examples/web_forum.png", "Post my comment.", True],
|
| 243 |
+
["./examples/safari_google.png", "Click on search bar.", True],
|
| 244 |
],
|
| 245 |
+
inputs=[imagebox, textbox, state_is_example_image],
|
| 246 |
examples_per_page=3
|
| 247 |
)
|
| 248 |
|
|
|
|
| 260 |
downvote_btn = gr.Button(value="Too bad!", variant="secondary")
|
| 261 |
clear_btn = gr.Button(value="🗑️ Clear", interactive=True)
|
| 262 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 263 |
submit_btn.click(
|
| 264 |
on_submit,
|
| 265 |
+
[imagebox, textbox, state_is_example_image],
|
| 266 |
[output_img, output_coords, state_image_path, state_session_id, state_is_example_image],
|
| 267 |
)
|
| 268 |
|
|
|
|
| 297 |
ssr_mode=False,
|
| 298 |
debug=True,
|
| 299 |
)
|
| 300 |
+
|
| 301 |
+
if __name__ == "__main__":
|
| 302 |
+
demo = build_demo(embed_mode=False)
|
| 303 |
+
demo.queue(api_open=False).launch(
|
| 304 |
+
server_name="0.0.0.0",
|
| 305 |
+
server_port=7860,
|
| 306 |
+
ssr_mode=False,
|
| 307 |
+
debug=True,
|
| 308 |
+
)
|