prithivMLmods commited on
Commit
3c9b81c
Β·
verified Β·
1 Parent(s): e99a086

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +81 -56
app.py CHANGED
@@ -72,6 +72,19 @@ def identify_and_save_blob(blob_path):
72
  except Exception as e:
73
  raise ValueError(f"An error occurred while processing the file: {e}")
74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  @spaces.GPU()
76
  def generate(
77
  message: str,
@@ -170,60 +183,72 @@ def generate(
170
  outputs.append(text)
171
  yield "".join(outputs)
172
 
173
- demo = gr.ChatInterface(
174
- fn=generate,
175
- additional_inputs=[
176
- gr.Slider(
177
- label="Max new tokens",
178
- minimum=1,
179
- maximum=MAX_MAX_NEW_TOKENS,
180
- step=1,
181
- value=DEFAULT_MAX_NEW_TOKENS,
182
- ),
183
- gr.Slider(
184
- label="Temperature",
185
- minimum=0.1,
186
- maximum=4.0,
187
- step=0.1,
188
- value=0.6,
189
- ),
190
- gr.Slider(
191
- label="Top-p (nucleus sampling)",
192
- minimum=0.05,
193
- maximum=1.0,
194
- step=0.05,
195
- value=0.9,
196
- ),
197
- gr.Slider(
198
- label="Top-k",
199
- minimum=1,
200
- maximum=1000,
201
- step=1,
202
- value=50,
203
- ),
204
- gr.Slider(
205
- label="Repetition penalty",
206
- minimum=1.0,
207
- maximum=2.0,
208
- step=0.05,
209
- value=1.2,
210
- ),
211
- gr.File(label="Upload Image or Video", type="filepath"),
212
- ],
213
- stop_btn=None,
214
- examples=[
215
- ["Hello there! How are you doing?"],
216
- ["Can you explain briefly to me what is the Python programming language?"],
217
- ["Explain the plot of Cinderella in a sentence."],
218
- ["How many hours does it take a man to eat a Helicopter?"],
219
- ["Write a 100-word article on 'Benefits of Open-Source in AI research'"],
220
- ],
221
- cache_examples=False,
222
- type="messages",
223
- description=DESCRIPTION,
224
- css_paths="style.css",
225
- fill_height=True,
226
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
227
 
228
- if __name__ == "__main__":
229
- demo.queue(max_size=20).launch()
 
72
  except Exception as e:
73
  raise ValueError(f"An error occurred while processing the file: {e}")
74
 
75
+ def process_vision_info(messages):
76
+ """Processes vision information (images or videos) from messages."""
77
+ image_inputs = []
78
+ video_inputs = []
79
+ for message in messages:
80
+ for content in message["content"]:
81
+ if content["type"] == "image":
82
+ image = Image.open(content["image"])
83
+ image_inputs.append(image)
84
+ elif content["type"] == "video":
85
+ video_inputs.append(content["video"])
86
+ return image_inputs, video_inputs
87
+
88
  @spaces.GPU()
89
  def generate(
90
  message: str,
 
183
  outputs.append(text)
184
  yield "".join(outputs)
185
 
186
+ css = """
187
+ #output {
188
+ height: 500px;
189
+ overflow: auto;
190
+ border: 1px solid #ccc;
191
+ }
192
+ """
193
+
194
+ with gr.Blocks(css=css) as demo:
195
+ gr.Markdown(DESCRIPTION)
196
+
197
+ with gr.Tab(label="Chat Interface"):
198
+ chat_interface = gr.ChatInterface(
199
+ fn=generate,
200
+ additional_inputs=[
201
+ gr.Slider(
202
+ label="Max new tokens",
203
+ minimum=1,
204
+ maximum=MAX_MAX_NEW_TOKENS,
205
+ step=1,
206
+ value=DEFAULT_MAX_NEW_TOKENS,
207
+ ),
208
+ gr.Slider(
209
+ label="Temperature",
210
+ minimum=0.1,
211
+ maximum=4.0,
212
+ step=0.1,
213
+ value=0.6,
214
+ ),
215
+ gr.Slider(
216
+ label="Top-p (nucleus sampling)",
217
+ minimum=0.05,
218
+ maximum=1.0,
219
+ step=0.05,
220
+ value=0.9,
221
+ ),
222
+ gr.Slider(
223
+ label="Top-k",
224
+ minimum=1,
225
+ maximum=1000,
226
+ step=1,
227
+ value=50,
228
+ ),
229
+ gr.Slider(
230
+ label="Repetition penalty",
231
+ minimum=1.0,
232
+ maximum=2.0,
233
+ step=0.05,
234
+ value=1.2,
235
+ ),
236
+ ],
237
+ stop_btn=None,
238
+ examples=[
239
+ ["Hello there! How are you doing?"],
240
+ ["Can you explain briefly to me what is the Python programming language?"],
241
+ ["Explain the plot of Cinderella in a sentence."],
242
+ ["How many hours does it take a man to eat a Helicopter?"],
243
+ ["Write a 100-word article on 'Benefits of Open-Source in AI research'"],
244
+ ],
245
+ cache_examples=False,
246
+ type="messages",
247
+ description=DESCRIPTION,
248
+ css_paths="style.css",
249
+ fill_height=True,
250
+ textbox=gr.MultimodalTextbox(),
251
+ multimodal=True,
252
+ )
253
 
254
+ demo.launch(debug=True)