Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import requests | |
| import nltk | |
| import json | |
| import random | |
| from utils import * | |
| nltk.download('punkt') | |
| # Function to handle summarization based on the selected method | |
| def summarize(text: str, method: str) -> str: | |
| processed_text = ' '.join(text.split("\n")) | |
| chunks = split_chunk(text) | |
| tree = MemWalker(chunks) | |
| tree.build_memory_tree() | |
| summary = summarize_three_ways(chunks) | |
| #print(processed_text) | |
| if method == "Truncation": | |
| return summary['truncated'] | |
| elif method == "Rewrite": | |
| return summary['rewrite'] | |
| elif method == "Accumulate": | |
| return summary['accumulate'] | |
| elif method == "Memory Tree": | |
| return tree.root.summary | |
| example_transcript = get_example() | |
| def clear_input(): | |
| return "", "Truncation" | |
| def load_example(index): | |
| return example_transcript[index] | |
| def load_example_1(): | |
| return load_example(0) | |
| def load_example_2(): | |
| return load_example(1) | |
| def load_example_3(): | |
| return load_example(2) | |
| def load_example_4(): | |
| return load_example(3) | |
| # Create the interface | |
| with gr.Blocks() as iface: | |
| text_input = gr.Textbox(lines=5, placeholder="Enter text to summarize here...", label="Input Transcript") | |
| method_input = gr.Radio(choices=["Truncation", "Rewrite", "Accumulate", "Memory Tree"], label="Summarization Method", value="Truncation") | |
| output_text = gr.Textbox(label="Summary") | |
| summarize_button = gr.Button("Summarize") | |
| clear_button = gr.Button("Clear Input") | |
| summarize_button.click(summarize, inputs=[text_input, method_input], outputs=output_text) | |
| clear_button.click(clear_input, outputs=[text_input, method_input]) | |
| #gr.Exa | |
| #gr.Examples([example_transcript[:100]], inputs=[text_input], label=f"Example", fn=load_example) | |
| example_button_1 = gr.Button(f"Example {1}: {example_transcript[0][:600]}...") | |
| example_button_1.click(load_example_1, inputs = None, outputs=[text_input]) | |
| example_button_2 = gr.Button(f"Example {2}: {example_transcript[1][:600]}...") | |
| example_button_2.click(load_example_2, inputs = None, outputs=[text_input]) | |
| example_button_3 = gr.Button(f"Example {3}: {example_transcript[2][:600]}...") | |
| example_button_3.click(load_example_3, inputs = None, outputs=[text_input]) | |
| example_button_4 = gr.Button(f"Example {4}: {example_transcript[3][:600]}...") | |
| example_button_4.click(load_example_4, inputs = None, outputs=[text_input]) | |
| # Launch the interface | |
| iface.launch(share = True, debug = True) | |