Spaces:
Sleeping
Sleeping
Error handling
#20
by JavonTeo - opened
- app.py +4 -3
- controlled_summarization.py +10 -3
- description.py +0 -2
app.py
CHANGED
|
@@ -29,10 +29,9 @@ with gr.Blocks(css="#htext span {white-space: pre-line}") as demo:
|
|
| 29 |
ctrlsum_file = gr.File(label="Input File")
|
| 30 |
ctrlsum_str = gr.TextArea(label="Input String", max_lines=5)
|
| 31 |
with gr.Column():
|
| 32 |
-
gr.Markdown("* Set the length of text used for summarization. Length 0 will exert no control over length.")
|
| 33 |
# ctrlsum_file_beams = gr.Number(label="Number of beams for beam search", value=1, precision=0)
|
| 34 |
# ctrlsum_file_sequences = gr.Number(label="Number of generated summaries", value=1, precision=0)
|
| 35 |
-
ctrlsum_file_length = gr.Radio(label="Length", value=0, choices=[0, 50, 100, 200])
|
| 36 |
kw = gr.Radio(visible=False)
|
| 37 |
ctrlsum_file_keywords = gr.Textbox(label="Keywords", max_lines=1)
|
| 38 |
with gr.Row():
|
|
@@ -40,6 +39,8 @@ with gr.Blocks(css="#htext span {white-space: pre-line}") as demo:
|
|
| 40 |
ctrlsum_file_output = gr.Textbox(
|
| 41 |
elem_id="htext",
|
| 42 |
label="Summary",
|
|
|
|
|
|
|
| 43 |
)
|
| 44 |
ctrlsum_file_examples = gr.Examples(
|
| 45 |
examples=[["examples/H01-1042_body.txt", 50, "automatic evaluation technique", "", ""],
|
|
@@ -185,4 +186,4 @@ with gr.Blocks(css="#htext span {white-space: pre-line}") as demo:
|
|
| 185 |
)
|
| 186 |
|
| 187 |
|
| 188 |
-
demo.launch(share=False)
|
|
|
|
| 29 |
ctrlsum_file = gr.File(label="Input File")
|
| 30 |
ctrlsum_str = gr.TextArea(label="Input String", max_lines=5)
|
| 31 |
with gr.Column():
|
|
|
|
| 32 |
# ctrlsum_file_beams = gr.Number(label="Number of beams for beam search", value=1, precision=0)
|
| 33 |
# ctrlsum_file_sequences = gr.Number(label="Number of generated summaries", value=1, precision=0)
|
| 34 |
+
ctrlsum_file_length = gr.Radio(label="Length", value=0, choices=[0, 50, 100, 200], info="Set the maximum limit for the length of text generated in the output summary. Length 0 implies no restriction on the summary length.")
|
| 35 |
kw = gr.Radio(visible=False)
|
| 36 |
ctrlsum_file_keywords = gr.Textbox(label="Keywords", max_lines=1)
|
| 37 |
with gr.Row():
|
|
|
|
| 39 |
ctrlsum_file_output = gr.Textbox(
|
| 40 |
elem_id="htext",
|
| 41 |
label="Summary",
|
| 42 |
+
show_label=True,
|
| 43 |
+
show_copy_button=True
|
| 44 |
)
|
| 45 |
ctrlsum_file_examples = gr.Examples(
|
| 46 |
examples=[["examples/H01-1042_body.txt", 50, "automatic evaluation technique", "", ""],
|
|
|
|
| 186 |
)
|
| 187 |
|
| 188 |
|
| 189 |
+
demo.queue().launch(share=False)
|
controlled_summarization.py
CHANGED
|
@@ -3,6 +3,7 @@ import torch
|
|
| 3 |
from SciAssist import Summarization
|
| 4 |
import os
|
| 5 |
import requests
|
|
|
|
| 6 |
from datasets import load_dataset
|
| 7 |
print(f"Is CUDA available: {torch.cuda.is_available()}")
|
| 8 |
# True
|
|
@@ -107,7 +108,8 @@ def ctrlsum_for_str(input, length=None, keywords=None) -> List[Tuple[str, str]]:
|
|
| 107 |
def ctrlsum_for_file(input=None, length=None, keywords="", text="", url="") -> List[Tuple[str, str, str]]:
|
| 108 |
if input == None and url == "":
|
| 109 |
if text == "":
|
| 110 |
-
|
|
|
|
| 111 |
else:
|
| 112 |
return ctrlsum_for_str(text, length, keywords), text, None
|
| 113 |
else:
|
|
@@ -132,7 +134,8 @@ def ctrlsum_for_file(input=None, length=None, keywords="", text="", url="") -> L
|
|
| 132 |
|
| 133 |
filename = download_pdf(url, './cache/')
|
| 134 |
else:
|
| 135 |
-
"Invalid
|
|
|
|
| 136 |
else:
|
| 137 |
filename = input.name
|
| 138 |
if keywords != "":
|
|
@@ -150,11 +153,15 @@ def ctrlsum_for_file(input=None, length=None, keywords="", text="", url="") -> L
|
|
| 150 |
results = ctrlsum_pipeline.predict(filename,
|
| 151 |
save_results=False, length=length, keywords=keywords, num_beams=1)
|
| 152 |
else:
|
| 153 |
-
|
|
|
|
| 154 |
|
| 155 |
output = []
|
| 156 |
for res in results["summary"]:
|
| 157 |
output.append(f"{res}\n\n")
|
|
|
|
|
|
|
|
|
|
| 158 |
return "".join(output), results["raw_text"], filename
|
| 159 |
|
| 160 |
|
|
|
|
| 3 |
from SciAssist import Summarization
|
| 4 |
import os
|
| 5 |
import requests
|
| 6 |
+
import gradio as gr
|
| 7 |
from datasets import load_dataset
|
| 8 |
print(f"Is CUDA available: {torch.cuda.is_available()}")
|
| 9 |
# True
|
|
|
|
| 108 |
def ctrlsum_for_file(input=None, length=None, keywords="", text="", url="") -> List[Tuple[str, str, str]]:
|
| 109 |
if input == None and url == "":
|
| 110 |
if text == "":
|
| 111 |
+
gr.Warning("Input cannot be left blank!")
|
| 112 |
+
return None, None, None
|
| 113 |
else:
|
| 114 |
return ctrlsum_for_str(text, length, keywords), text, None
|
| 115 |
else:
|
|
|
|
| 134 |
|
| 135 |
filename = download_pdf(url, './cache/')
|
| 136 |
else:
|
| 137 |
+
gr.Warning("Invalid URL (Not PDF)!")
|
| 138 |
+
return None, None, None
|
| 139 |
else:
|
| 140 |
filename = input.name
|
| 141 |
if keywords != "":
|
|
|
|
| 153 |
results = ctrlsum_pipeline.predict(filename,
|
| 154 |
save_results=False, length=length, keywords=keywords, num_beams=1)
|
| 155 |
else:
|
| 156 |
+
gr.Warning("File Format Error! Please upload .txt or .pdf files.")
|
| 157 |
+
return None, None, None
|
| 158 |
|
| 159 |
output = []
|
| 160 |
for res in results["summary"]:
|
| 161 |
output.append(f"{res}\n\n")
|
| 162 |
+
if results["raw_text"] == "":
|
| 163 |
+
gr.Warning("Unable to parse File! Please try a different file.")
|
| 164 |
+
return None, None, None
|
| 165 |
return "".join(output), results["raw_text"], filename
|
| 166 |
|
| 167 |
|
description.py
CHANGED
|
@@ -44,8 +44,6 @@ To **test on strings**, simply input a string.
|
|
| 44 |
'''
|
| 45 |
|
| 46 |
ctrlsum_file_md = '''
|
| 47 |
-
This is the demo for **CocoSciSum**.
|
| 48 |
-
|
| 49 |
## Controlled Summarization uses FLAN-T5 to generate user-customised summaries from your input file or URL link.
|
| 50 |
|
| 51 |
To **test on a file**, the input can be:
|
|
|
|
| 44 |
'''
|
| 45 |
|
| 46 |
ctrlsum_file_md = '''
|
|
|
|
|
|
|
| 47 |
## Controlled Summarization uses FLAN-T5 to generate user-customised summaries from your input file or URL link.
|
| 48 |
|
| 49 |
To **test on a file**, the input can be:
|