Tonic commited on
Commit
ecc3149
·
1 Parent(s): bdfdac3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -12
app.py CHANGED
@@ -98,6 +98,13 @@ def _parse_text(text):
98
  text = "".join(lines)
99
  return text
100
 
 
 
 
 
 
 
 
101
 
102
  def _launch_demo(args, model, tokenizer):
103
  uploaded_file_dir = os.environ.get("GRADIO_TEMP_DIR") or str(
@@ -122,13 +129,27 @@ def _launch_demo(args, model, tokenizer):
122
 
123
  if 'image' in query[0]:
124
  image = tokenizer.draw_bbox_on_latest_picture(response)
125
- image_path = save_image(image) # Ensure you have a function to save the image
126
- _chatbot[-1] = (chat_query, (image_path,))
 
 
 
127
  else:
128
  _chatbot[-1] = (chat_query, response)
129
-
130
  return _chatbot
131
 
 
 
 
 
 
 
 
 
 
 
 
132
  def regenerate(_chatbot, task_history):
133
  if not task_history:
134
  return _chatbot
@@ -180,15 +201,6 @@ def _launch_demo(args, model, tokenizer):
180
  def reset_state(task_history):
181
  task_history.clear()
182
  return []
183
-
184
- def save_image(image):
185
- temp_dir = secrets.token_hex(20)
186
- temp_dir = Path(uploaded_file_dir) / temp_dir
187
- temp_dir.mkdir(exist_ok=True, parents=True)
188
- name = f"tmp{secrets.token_hex(5)}.jpg"
189
- filename = temp_dir / name
190
- image.save(str(filename))
191
- return str(filename)
192
 
193
 
194
  with gr.Blocks() as demo:
@@ -219,6 +231,12 @@ Join us : 🌟TeamTonic🌟 is always making cool demos! Join our active builder
219
  outputs=[chatbot]
220
  )
221
 
 
 
 
 
 
 
222
  submit_file_btn.click(
223
  fn=add_file,
224
  inputs=[chatbot, task_history, file_upload],
 
98
  text = "".join(lines)
99
  return text
100
 
101
+ def add_file(history, task_history, file):
102
+ if file is None:
103
+ return history, task_history # Return if no file is uploaded
104
+ file_path = save_image(file)
105
+ history = history + [((file_path,), None)]
106
+ task_history = task_history + [((file_path,), None)]
107
+ return history, task_history
108
 
109
  def _launch_demo(args, model, tokenizer):
110
  uploaded_file_dir = os.environ.get("GRADIO_TEMP_DIR") or str(
 
129
 
130
  if 'image' in query[0]:
131
  image = tokenizer.draw_bbox_on_latest_picture(response)
132
+ if image is not None:
133
+ image_path = save_image(image)
134
+ _chatbot[-1] = (chat_query, (image_path,))
135
+ else:
136
+ _chatbot[-1] = (chat_query, "No image to display.")
137
  else:
138
  _chatbot[-1] = (chat_query, response)
139
+
140
  return _chatbot
141
 
142
+ def save_image(image):
143
+ if image is None:
144
+ return None
145
+ temp_dir = secrets.token_hex(20)
146
+ temp_dir = Path(uploaded_file_dir) / temp_dir
147
+ temp_dir.mkdir(exist_ok=True, parents=True)
148
+ name = f"tmp{secrets.token_hex(5)}.jpg"
149
+ filename = temp_dir / name
150
+ image.save(str(filename))
151
+ return str(filename)
152
+
153
  def regenerate(_chatbot, task_history):
154
  if not task_history:
155
  return _chatbot
 
201
  def reset_state(task_history):
202
  task_history.clear()
203
  return []
 
 
 
 
 
 
 
 
 
204
 
205
 
206
  with gr.Blocks() as demo:
 
231
  outputs=[chatbot]
232
  )
233
 
234
+ submit_file_btn.click(
235
+ fn=predict,
236
+ inputs=[chatbot, task_history],
237
+ outputs=[chatbot]
238
+ )
239
+
240
  submit_file_btn.click(
241
  fn=add_file,
242
  inputs=[chatbot, task_history, file_upload],