preprocessing / app.py
akki2825's picture
fix fn
c74db10 verified
raw
history blame
1.7 kB
import gradio as gr
def split_into_sentences(text):
# Split the text by newline characters
sentences = text.split('\n')
# Clean up any leading/trailing whitespace in each sentence
sentences = [s.strip() for s in sentences]
# Join the sentences with newline characters to display each on a new line
return '\n'.join(sentences)
def main():
with gr.Blocks() as demo:
gr.Markdown("# Text to Sentences Splitter")
with gr.Row():
text_input = gr.Textbox(label="Enter or paste your text", lines=5)
file_input = gr.File(label="Upload Text File")
with gr.Row():
split_button = gr.Button("Split into Sentences")
sentences_output = gr.Textbox(label="Sentences", lines=10)
preview_output = gr.Textbox(label="Preview", lines=3)
# Update preview when file is uploaded
def update_preview(file):
if file:
with open(file.name, 'r') as f:
preview_text = f.read()
return preview_text[:200] # Show first 200 characters
return ""
# Split text into sentences
def process_text(text, file):
if file:
with open(file.name, 'r') as f:
text = f.read()
return split_into_sentences(text)
split_button.click(
fn=process_text,
inputs=[text_input, file_input],
outputs=sentences_output
)
file_input.change(
fn=update_preview,
inputs=[file_input],
outputs=[preview_output]
)
demo.launch()
if __name__ == "__main__":
main()