Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
|
|
|
|
|
|
|
|
|
|
72 |
gemini_files.append(gemini_file)
|
73 |
|
74 |
-
#
|
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)
|
|
|
|
|
|