Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from transformers import pipeline | |
| # Set page configuration | |
| st.set_page_config( | |
| page_title="Question Answering App", | |
| page_icon="β", | |
| layout="centered", | |
| initial_sidebar_state="auto", | |
| ) | |
| # Page title with custom style | |
| st.markdown( | |
| """ | |
| <h1 style="text-align: center; color: #4CAF50; font-family: 'Helvetica';"> | |
| π Question Answering App | |
| </h1> | |
| <p style="text-align: center; color: #777; font-size: 18px;"> | |
| Enter a context and question to get precise answers powered by AI. | |
| </p> | |
| """, | |
| unsafe_allow_html=True, | |
| ) | |
| # Sidebar | |
| st.sidebar.header("Model Settings") | |
| model_checkpoint = st.sidebar.text_input( | |
| "Model Checkpoint", "Diezu/viedumrc", help="Specify the model checkpoint to use." | |
| ) | |
| st.sidebar.markdown( | |
| """ | |
| <small>Using default model: <code>Diezu/viedumrc</code>.</small> | |
| """, | |
| unsafe_allow_html=True, | |
| ) | |
| # Initialize model pipeline | |
| question_answerer = pipeline("question-answering", model=model_checkpoint) | |
| # Main application | |
| st.markdown( | |
| """ | |
| <h2 style="color: #2196F3;">Provide Context and Question</h2> | |
| """, | |
| unsafe_allow_html=True, | |
| ) | |
| context = st.text_area( | |
| "Context", | |
| "", | |
| help="Paste the context where the answer can be found.", | |
| height=200, | |
| placeholder="Enter your context here...", | |
| ) | |
| question = st.text_input( | |
| "Question", | |
| "", | |
| help="Write the question you want to ask about the provided context.", | |
| placeholder="What is your question?", | |
| ) | |
| if st.button("Get Answer"): | |
| if context.strip() == "" or question.strip() == "": | |
| st.warning("Please provide both context and a question!") | |
| else: | |
| try: | |
| result = question_answerer(question=question, context=context) | |
| st.success("Answer Found!") | |
| st.markdown( | |
| f""" | |
| <div style="background-color: #f1f8ff; border-left: 4px solid #2196F3; padding: 10px; margin-top: 10px;"> | |
| <strong>Answer:</strong> {result['answer']} | |
| </div> | |
| """, | |
| unsafe_allow_html=True, | |
| ) | |
| except Exception as e: | |
| st.error(f"Error: {e}") | |
| # Footer | |
| st.markdown( | |
| """ | |
| <hr> | |
| <footer style="text-align: center; font-size: small; color: #888;"> | |
| Built with β€οΈ using <strong>Streamlit</strong> and <strong>Transformers</strong>. | |
| </footer> | |
| """, | |
| unsafe_allow_html=True, | |
| ) | |