Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import pipeline | |
| # Initialize the question-answering pipeline | |
| qa_model = pipeline('question-answering', model='deepset/roberta-base-squad2') | |
| def get_answer(context, question): | |
| # Check if both inputs are provided | |
| if not context.strip() or not question.strip(): | |
| return "Error: Please provide both context and a question." | |
| # Run the model to find the answer | |
| result = qa_model(question=question, context=context) | |
| # Extract the answer text | |
| answer_text = result['answer'] | |
| # Calculate the confidence score | |
| confidence = round(result['score'] * 100, 1) | |
| # Return formatted string with answer and probability | |
| return f"{answer_text} (Confidence: {confidence}%)" | |
| # Create Gradio blocks interface | |
| with gr.Blocks(title="QA Assistant", theme=gr.themes.Soft()) as demo: | |
| # Add main header | |
| gr.Markdown("# AI Assistant: Question Answering") | |
| # Add application description | |
| gr.Markdown("Provide a context text and ask a question about it. The AI will analyze the text and extract the exact answer.") | |
| # Create layout with two columns | |
| with gr.Row(): | |
| with gr.Column(scale=2): | |
| # Add input box for the context text | |
| input_context = gr.Textbox( | |
| label="Context (Text)", | |
| lines=8, | |
| placeholder="Paste an article or paragraph in English here..." | |
| ) | |
| # Add input box for the question | |
| input_question = gr.Textbox( | |
| label="Your Question", | |
| lines=2, | |
| placeholder="What is this text about?" | |
| ) | |
| # Add action button | |
| btn_answer = gr.Button("Find Answer", variant='primary') | |
| with gr.Column(scale=1): | |
| # Add output box for the answer | |
| output_answer = gr.Textbox( | |
| label="AI Answer", | |
| lines=4, | |
| interactive=False | |
| ) | |
| # Link button click to the answering function | |
| btn_answer.click( | |
| fn=get_answer, | |
| inputs=[input_context, input_question], | |
| outputs=output_answer | |
| ) | |
| # Add examples for quick testing | |
| gr.Examples( | |
| examples=[ | |
| [ | |
| "Python was created by Guido van Rossum and first released in 1991. It is a widely used high-level programming language.", | |
| "Who created Python?" | |
| ], | |
| [ | |
| "The James Webb Space Telescope (JWST) is a space telescope designed primarily to conduct infrared astronomy. It was launched in December 2021.", | |
| "When was the telescope launched?" | |
| ] | |
| ], | |
| inputs=[input_context, input_question] | |
| ) | |
| if __name__ == '__main__': | |
| demo.launch() |