Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -250,7 +250,7 @@ def save_text_to_pdf(text, output_path):
|
|
250 |
print(f"Text saved to PDF at {output_path}")
|
251 |
|
252 |
# Function to process the PDF or search query and generate a summary
|
253 |
-
def process_input(query_or_file, is_pdf, instructions, api_key):
|
254 |
load_dotenv() # Load environment variables from .env file
|
255 |
|
256 |
HUGGINGFACE_API_TOKEN = os.getenv("HUGGINGFACE_TOKEN")
|
@@ -272,7 +272,7 @@ def process_input(query_or_file, is_pdf, instructions, api_key):
|
|
272 |
concatenated_summary = ""
|
273 |
for chunk in text_chunks:
|
274 |
prompt = format_prompt_with_instructions(chunk, instructions)
|
275 |
-
chunk_summary = generate_text(prompt)
|
276 |
concatenated_summary += f"{chunk_summary}\n\n"
|
277 |
|
278 |
print("Final concatenated summary generated.")
|
@@ -305,6 +305,9 @@ def summarization_interface():
|
|
305 |
with gr.Tab("Summarize PDF"):
|
306 |
pdf_file = gr.File(label="Upload PDF", file_types=[".pdf"])
|
307 |
pdf_instructions = gr.Textbox(label="Instructions for Summarization", placeholder="Enter instructions for summarization", lines=3)
|
|
|
|
|
|
|
308 |
pdf_summary_output = gr.Textbox(label="Summary Output")
|
309 |
pdf_api_key = gr.Textbox(label="Hugging Face API Key", type="password")
|
310 |
pdf_summarize_button = gr.Button("Generate Summary")
|
@@ -313,14 +316,17 @@ def summarization_interface():
|
|
313 |
with gr.Tab("Summarize Web Search"):
|
314 |
search_query = gr.Textbox(label="Enter Search Query", placeholder="Enter search query")
|
315 |
search_instructions = gr.Textbox(label="Instructions for Summarization", placeholder="Enter instructions for summarization", lines=3)
|
|
|
|
|
|
|
316 |
search_summary_output = gr.Textbox(label="Summary Output")
|
317 |
search_api_key = gr.Textbox(label="Hugging Face API Key", type="password")
|
318 |
search_summarize_button = gr.Button("Generate Summary")
|
319 |
search_clear_cache_button = gr.Button("Clear Cache")
|
320 |
|
321 |
# Bind functions to button clicks
|
322 |
-
pdf_summarize_button.click(fn=lambda file, instructions, api_key: process_input(file, True, instructions, api_key), inputs=[pdf_file, pdf_instructions, pdf_api_key], outputs=pdf_summary_output)
|
323 |
-
search_summarize_button.click(fn=lambda query, instructions, api_key: process_input(query, False, instructions, api_key), inputs=[search_query, search_instructions, search_api_key], outputs=search_summary_output)
|
324 |
pdf_clear_cache_button.click(fn=clear_cache, inputs=None, outputs=pdf_summary_output)
|
325 |
search_clear_cache_button.click(fn=clear_cache, inputs=None, outputs=search_summary_output)
|
326 |
|
|
|
250 |
print(f"Text saved to PDF at {output_path}")
|
251 |
|
252 |
# Function to process the PDF or search query and generate a summary
|
253 |
+
def process_input(query_or_file, is_pdf, instructions, api_key, temperature, top_p, repetition_penalty):
|
254 |
load_dotenv() # Load environment variables from .env file
|
255 |
|
256 |
HUGGINGFACE_API_TOKEN = os.getenv("HUGGINGFACE_TOKEN")
|
|
|
272 |
concatenated_summary = ""
|
273 |
for chunk in text_chunks:
|
274 |
prompt = format_prompt_with_instructions(chunk, instructions)
|
275 |
+
chunk_summary = generate_text(prompt, temperature, repetition_penalty, top_p)
|
276 |
concatenated_summary += f"{chunk_summary}\n\n"
|
277 |
|
278 |
print("Final concatenated summary generated.")
|
|
|
305 |
with gr.Tab("Summarize PDF"):
|
306 |
pdf_file = gr.File(label="Upload PDF", file_types=[".pdf"])
|
307 |
pdf_instructions = gr.Textbox(label="Instructions for Summarization", placeholder="Enter instructions for summarization", lines=3)
|
308 |
+
pdf_temperature = gr.Slider(label="Temperature", minimum=0.0, maximum=1.0, value=0.7, step=0.01)
|
309 |
+
pdf_top_p = gr.Slider(label="Top P", minimum=0.0, maximum=1.0, value=0.9, step=0.01)
|
310 |
+
pdf_repetition_penalty = gr.Slider(label="Repetition Penalty", minimum=0.5, maximum=2.0, value=1.0, step=0.1)
|
311 |
pdf_summary_output = gr.Textbox(label="Summary Output")
|
312 |
pdf_api_key = gr.Textbox(label="Hugging Face API Key", type="password")
|
313 |
pdf_summarize_button = gr.Button("Generate Summary")
|
|
|
316 |
with gr.Tab("Summarize Web Search"):
|
317 |
search_query = gr.Textbox(label="Enter Search Query", placeholder="Enter search query")
|
318 |
search_instructions = gr.Textbox(label="Instructions for Summarization", placeholder="Enter instructions for summarization", lines=3)
|
319 |
+
search_temperature = gr.Slider(label="Temperature", minimum=0.0, maximum=1.0, value=0.7, step=0.01)
|
320 |
+
search_top_p = gr.Slider(label="Top P", minimum=0.0, maximum=1.0, value=0.9, step=0.01)
|
321 |
+
search_repetition_penalty = gr.Slider(label="Repetition Penalty", minimum=0.5, maximum=2.0, value=1.0, step=0.1)
|
322 |
search_summary_output = gr.Textbox(label="Summary Output")
|
323 |
search_api_key = gr.Textbox(label="Hugging Face API Key", type="password")
|
324 |
search_summarize_button = gr.Button("Generate Summary")
|
325 |
search_clear_cache_button = gr.Button("Clear Cache")
|
326 |
|
327 |
# Bind functions to button clicks
|
328 |
+
pdf_summarize_button.click(fn=lambda file, instructions, api_key, temperature, top_p, repetition_penalty: process_input(file, True, instructions, api_key, temperature, top_p, repetition_penalty), inputs=[pdf_file, pdf_instructions, pdf_api_key, pdf_temperature, pdf_top_p, pdf_repetition_penalty], outputs=pdf_summary_output)
|
329 |
+
search_summarize_button.click(fn=lambda query, instructions, api_key, temperature, top_p, repetition_penalty: process_input(query, False, instructions, api_key, temperature, top_p, repetition_penalty), inputs=[search_query, search_instructions, search_api_key, search_temperature, search_top_p, search_repetition_penalty], outputs=search_summary_output)
|
330 |
pdf_clear_cache_button.click(fn=clear_cache, inputs=None, outputs=pdf_summary_output)
|
331 |
search_clear_cache_button.click(fn=clear_cache, inputs=None, outputs=search_summary_output)
|
332 |
|