import gradio as gr from transformers import pipeline # Load a pre-trained question answering pipeline question_answerer = pipeline("question-answering", model="bert-large-uncased-whole-word-masking-finetuned-squad") def answer_question(context, question): """ Takes context and a question as input and returns the predicted answer. """ if context and question: result = question_answerer(question=question, context=context) answer = result['answer'] confidence = f"{result['score']:.4f}" return f"Answer: {answer}", f"Confidence: {confidence}" else: return "Please provide both context and a question.", "" # Define the Gradio interface iface = gr.Interface( fn=answer_question, inputs=[ gr.Textbox(lines=7, placeholder="Enter the context here..."), gr.Textbox(placeholder="Ask a question about the context...") ], outputs=[ gr.Textbox(label="Predicted Answer"), gr.Textbox(label="Confidence Score") ], title="Simple Question Answering", description="Enter a block of text (context) and then ask a question about it. The app will try to find the answer within the text.", ) # Launch the Gradio app iface.launch()