Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from transformers import AutoTokenizer, AutoModelForQuestionAnswering, pipeline | |
| st.title("Question Answering Web App") | |
| st.write(""" | |
| ### Powered by Hugging Face and Streamlit | |
| This app uses a pre-trained NLP model from Hugging Face to answer questions based on the text you provide. | |
| Try entering a context and a question to get an answer! | |
| """) | |
| # Load the tokenizer and model | |
| def load_model(): | |
| tokenizer = AutoTokenizer.from_pretrained("Rakib/roberta-base-on-cuad") | |
| model = AutoModelForQuestionAnswering.from_pretrained("Rakib/roberta-base-on-cuad") | |
| return tokenizer, model | |
| tokenizer, model = load_model() | |
| # Define the question-answering pipeline | |
| def get_qa_pipeline(): | |
| return pipeline("question-answering", model=model, tokenizer=tokenizer) | |
| qa_pipeline = get_qa_pipeline() | |
| # UI input for context and question | |
| context = st.text_area("Enter the context:", "Type the paragraph here where the answer will be extracted.") | |
| question = st.text_input("Enter the question:", "What is being asked here?") | |
| # Button to perform question answering | |
| if st.button("Answer Question"): | |
| if context and question: | |
| result = qa_pipeline(question=question, context=context) | |
| answer = result['answer'] | |
| # Display the result | |
| st.subheader("Answer") | |
| st.write(f"**Answer:** {answer}") | |
| else: | |
| st.warning("Please enter both context and question!") | |
| # Sidebar with About Information | |
| st.sidebar.title("About") | |
| st.sidebar.info(""" | |
| This app demonstrates the use of Hugging Face's NLP models with Streamlit. | |
| It uses the `Rakib/roberta-base-on-cuad` model for question answering tasks. | |
| """) | |