JeCabrera commited on
Commit
9b78d91
·
verified ·
1 Parent(s): 834a27f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -14
app.py CHANGED
@@ -62,16 +62,21 @@ def wait_for_files_active(files):
62
  def upload(files: Optional[List[str]], chatbot: CHAT_HISTORY) -> CHAT_HISTORY:
63
  gemini_files = []
64
  for file in files:
65
- image = Image.open(file).convert('RGB')
66
- image_preview = preprocess_image(image)
67
- if image_preview:
68
- # Display a preview of the uploaded image
69
- gr.Image(image_preview).render()
70
- image_path = cache_pil_image(image)
71
- gemini_file = upload_to_gemini(image_path, mime_type="image/jpeg")
 
 
 
 
 
72
  gemini_files.append(gemini_file)
73
 
74
- # Wait for files to be ready in Gemini
75
  wait_for_files_active(gemini_files)
76
  chatbot.append(((gemini_file.uri,), None))
77
  return chatbot
@@ -99,7 +104,7 @@ def bot(
99
  )
100
 
101
  text_prompt = [chatbot[-1][0]] if chatbot and chatbot[-1][0] and isinstance(chatbot[-1][0], str) else []
102
- image_prompt = [preprocess_image(Image.open(file).convert('RGB')) for file in files] if files else []
103
  model = genai.GenerativeModel(model_choice)
104
  response = model.generate_content(text_prompt + image_prompt, stream=True, generation_config=generation_config)
105
 
@@ -121,7 +126,7 @@ text_prompt_component = gr.Textbox(
121
  placeholder="Message...", show_label=False, autofocus=True, scale=8
122
  )
123
  upload_button_component = gr.UploadButton(
124
- label="Upload Images", file_count="multiple", file_types=["image"], scale=1
125
  )
126
  run_button_component = gr.Button(value="Run", variant="primary", scale=1)
127
  model_choice_component = gr.Dropdown(
@@ -178,7 +183,4 @@ with gr.Blocks() as demo:
178
  queue=False
179
  )
180
 
181
- demo.queue(max_size=99).launch(debug=False, show_error=True)
182
-
183
-
184
-
 
62
  def upload(files: Optional[List[str]], chatbot: CHAT_HISTORY) -> CHAT_HISTORY:
63
  gemini_files = []
64
  for file in files:
65
+ # Verificar si es una imagen o un archivo PDF
66
+ if file.endswith('.pdf'):
67
+ gemini_file = upload_to_gemini(file, mime_type="application/pdf")
68
+ else:
69
+ image = Image.open(file).convert('RGB')
70
+ image_preview = preprocess_image(image)
71
+ if image_preview:
72
+ # Display a preview of the uploaded image
73
+ gr.Image(image_preview).render()
74
+ image_path = cache_pil_image(image)
75
+ gemini_file = upload_to_gemini(image_path, mime_type="image/jpeg")
76
+
77
  gemini_files.append(gemini_file)
78
 
79
+ # Esperar a que los archivos se procesen en Gemini
80
  wait_for_files_active(gemini_files)
81
  chatbot.append(((gemini_file.uri,), None))
82
  return chatbot
 
104
  )
105
 
106
  text_prompt = [chatbot[-1][0]] if chatbot and chatbot[-1][0] and isinstance(chatbot[-1][0], str) else []
107
+ image_prompt = [preprocess_image(Image.open(file).convert('RGB')) for file in files if file.endswith(('.jpg', '.jpeg', '.png'))] if files else []
108
  model = genai.GenerativeModel(model_choice)
109
  response = model.generate_content(text_prompt + image_prompt, stream=True, generation_config=generation_config)
110
 
 
126
  placeholder="Message...", show_label=False, autofocus=True, scale=8
127
  )
128
  upload_button_component = gr.UploadButton(
129
+ label="Upload Images or PDF", file_count="multiple", file_types=["image", "pdf"], scale=1
130
  )
131
  run_button_component = gr.Button(value="Run", variant="primary", scale=1)
132
  model_choice_component = gr.Dropdown(
 
183
  queue=False
184
  )
185
 
186
+ demo.queue(max_size=99).launch(debug=False, show_error=True)