Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| from transformers import pipeline | |
| # Initialize pipelines for each NLP task | |
| ner = pipeline("ner") | |
| qa = pipeline("question-answering") | |
| text_gen = pipeline("text-generation") | |
| summarization = pipeline("summarization") | |
| def main(): | |
| """ | |
| This function builds the Streamlit app with user input for NLP tasks. | |
| """ | |
| # Title and description for the app | |
| st.title("Multi-Task NLP App") | |
| st.write("Perform various NLP tasks on your text input.") | |
| # Text input field | |
| user_input = st.text_input("Enter Text Here:") | |
| # Select task from dropdown menu | |
| selected_task = st.selectbox("Choose NLP Task:", ["NER", "QA", "Text Generation", "Text Summarization"]) | |
| # Perform NLP task based on selection | |
| if user_input and selected_task: | |
| if selected_task == "NER": | |
| analysis = ner(user_input) | |
| st.write("**Named Entities:**") | |
| for entity in analysis: | |
| st.write(f"- {entity['word']} ({entity['entity_group']})") | |
| elif selected_task == "QA": | |
| # Provide context (optional) for QA | |
| context = st.text_input("Enter Context (Optional):", "") | |
| if context: | |
| analysis = qa(question="Your question", context=context, padding="max_length") | |
| else: | |
| analysis = qa(question="Your question", context=user_input, padding="max_length") | |
| st.write("**Answer:**", analysis['answer']) | |
| elif selected_task == "Text Generation": | |
| # Choose generation task from another dropdown | |
| generation_task = st.selectbox("Choose Generation Task:", ["Text summarization (short)", "Poem", "Code"]) | |
| if generation_task == "Text summarization (short)": | |
| analysis = summarization(user_input, max_length=50, truncation=True) | |
| else: | |
| # Experiment with different prompts and max_length for creative text generation | |
| prompt = st.text_input("Enter Prompt (Optional):", "") | |
| analysis = text_gen(prompt if prompt else user_input, max_length=50, truncation=True) | |
| st.write("**Generated Text:**", analysis[0]['generated_text']) | |
| else: | |
| analysis = summarization(user_input, max_length=100, truncation=True) | |
| st.write("**Summary:**", analysis[0]['summary_text']) | |
| if __name__ == "__main__": | |
| main() | |