taprosoft
commited on
Commit
·
669f293
1
Parent(s):
0ef8ba3
feat: update examples
Browse files- app.py +28 -3
- header.html +4 -0
app.py
CHANGED
@@ -33,6 +33,7 @@ from utils import remove_images_from_markdown, trim_pages
|
|
33 |
TRIMMED_PDF_PATH = Path("/tmp/trimmed_input")
|
34 |
TRIMMED_PDF_PATH.mkdir(exist_ok=True)
|
35 |
DO_WARMUP = os.getenv("DO_WARMUP", "True").lower() == "true"
|
|
|
36 |
|
37 |
|
38 |
def convert_document(path, method, start_page=0, enabled=True):
|
@@ -198,7 +199,9 @@ with gr.Blocks(
|
|
198 |
with gr.Row():
|
199 |
methods = gr.Dropdown(
|
200 |
SUPPORTED_METHODS,
|
201 |
-
label=
|
|
|
|
|
202 |
value=SUPPORTED_METHODS[:2],
|
203 |
multiselect=True,
|
204 |
)
|
@@ -234,6 +237,18 @@ with gr.Blocks(
|
|
234 |
visible=True,
|
235 |
height=800,
|
236 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
|
238 |
with gr.Column(variant="panel", scale=5):
|
239 |
with gr.Tabs():
|
@@ -302,7 +317,19 @@ with gr.Blocks(
|
|
302 |
visualization_sub_tabs.append(visual_sub_tab)
|
303 |
|
304 |
input_file.change(fn=lambda x: x, inputs=input_file, outputs=pdf_preview)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
305 |
click_event = convert_btn.click(
|
|
|
|
|
|
|
306 |
fn=show_tabs,
|
307 |
inputs=[methods],
|
308 |
outputs=output_tabs,
|
@@ -329,8 +356,6 @@ with gr.Blocks(
|
|
329 |
return msg
|
330 |
|
331 |
def process_method(input_file, start_page, selected_methods, method=method):
|
332 |
-
if input_file is None:
|
333 |
-
raise ValueError("Please upload a PDF file first!")
|
334 |
return convert_document(
|
335 |
input_file,
|
336 |
method=method,
|
|
|
33 |
TRIMMED_PDF_PATH = Path("/tmp/trimmed_input")
|
34 |
TRIMMED_PDF_PATH.mkdir(exist_ok=True)
|
35 |
DO_WARMUP = os.getenv("DO_WARMUP", "True").lower() == "true"
|
36 |
+
MAX_SELECTED_METHODS = 5
|
37 |
|
38 |
|
39 |
def convert_document(path, method, start_page=0, enabled=True):
|
|
|
199 |
with gr.Row():
|
200 |
methods = gr.Dropdown(
|
201 |
SUPPORTED_METHODS,
|
202 |
+
label=(
|
203 |
+
"Conversion methods " f"(select up-to {MAX_SELECTED_METHODS})"
|
204 |
+
),
|
205 |
value=SUPPORTED_METHODS[:2],
|
206 |
multiselect=True,
|
207 |
)
|
|
|
237 |
visible=True,
|
238 |
height=800,
|
239 |
)
|
240 |
+
with gr.Accordion("Notes", open=False):
|
241 |
+
gr.Markdown(
|
242 |
+
container=False,
|
243 |
+
show_label=False,
|
244 |
+
value=(
|
245 |
+
"- Use the playground for non-sensitive data only.\n"
|
246 |
+
"- Figure and formular extraction might not work properly with some methods (we are working on that!).\n" # noqa
|
247 |
+
"- Some methods (e.g: Gemini) may use external API to process the document.\n" # noqa
|
248 |
+
"- Some methods (e.g: Unstructured) may has longer processing time due to not utilizing GPU resource, be patient!\n" # noqa
|
249 |
+
"- If you have suggestion for better default configuration of current methods, please let us know!\n" # noqa
|
250 |
+
),
|
251 |
+
)
|
252 |
|
253 |
with gr.Column(variant="panel", scale=5):
|
254 |
with gr.Tabs():
|
|
|
317 |
visualization_sub_tabs.append(visual_sub_tab)
|
318 |
|
319 |
input_file.change(fn=lambda x: x, inputs=input_file, outputs=pdf_preview)
|
320 |
+
|
321 |
+
def check_preconditions(input_file, selected_methods):
|
322 |
+
if len(selected_methods) > MAX_SELECTED_METHODS:
|
323 |
+
raise ValueError(
|
324 |
+
"Please select up-to " f"{MAX_SELECTED_METHODS} methods only!"
|
325 |
+
)
|
326 |
+
if input_file is None:
|
327 |
+
raise ValueError("Please upload a PDF file first!")
|
328 |
+
|
329 |
click_event = convert_btn.click(
|
330 |
+
fn=check_preconditions,
|
331 |
+
inputs=[input_file, methods],
|
332 |
+
).success(
|
333 |
fn=show_tabs,
|
334 |
inputs=[methods],
|
335 |
outputs=output_tabs,
|
|
|
356 |
return msg
|
357 |
|
358 |
def process_method(input_file, start_page, selected_methods, method=method):
|
|
|
|
|
359 |
return convert_document(
|
360 |
input_file,
|
361 |
method=method,
|
header.html
CHANGED
@@ -29,6 +29,10 @@
|
|
29 |
font-family: 'Trebuchet MS', 'Lucida Sans Unicode',
|
30 |
'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
31 |
">
|
|
|
|
|
|
|
|
|
32 |
PDF Parsers Playground
|
33 |
</h1>
|
34 |
</div>
|
|
|
29 |
font-family: 'Trebuchet MS', 'Lucida Sans Unicode',
|
30 |
'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
|
31 |
">
|
32 |
+
<img style="width: 35px; height: 35px; display: inline; margin: -10px 0px;"
|
33 |
+
src="data:image/png;base64,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"
|
34 |
+
alt="chunking-ai"
|
35 |
+
/>
|
36 |
PDF Parsers Playground
|
37 |
</h1>
|
38 |
</div>
|