Spaces:
Sleeping
Sleeping
import gradio as gr | |
from transformers import pipeline | |
# Load QA pipelines (lightweight, free models) | |
qa_model_1 = pipeline("question-answering", model="distilbert-base-cased-distilled-squad") | |
qa_model_2 = pipeline("question-answering", model="deepset/tinyroberta-squad2") | |
qa_model_3 = pipeline("question-answering", model="bert-base-uncased") | |
def answer_question(question, context, model_choice): | |
if model_choice == "π€ DistilBERT": | |
return qa_model_1(question=question, context=context)["answer"] | |
elif model_choice == "π§ TinyRoBERTa": | |
return qa_model_2(question=question, context=context)["answer"] | |
elif model_choice == "π BERT Base": | |
return qa_model_3(question=question, context=context)["answer"] | |
with gr.Blocks() as demo: | |
# Inject light orange background and dark orange bold heading via HTML | |
gr.HTML(""" | |
<style> | |
body { | |
background-color: #FFF3E0; /* light orange */ | |
} | |
h1 { | |
color: #E65100; /* dark orange */ | |
font-weight: bold; | |
text-align: center; | |
} | |
footer { | |
text-align: center; | |
margin-top: 20px; | |
font-weight: bold; | |
color: #5D4037; | |
} | |
</style> | |
<h1>Question Answering with Lightweight LLMs</h1> | |
""") | |
with gr.Row(): | |
with gr.Column(): | |
question = gr.Textbox(label="Enter your question") | |
context = gr.Textbox(label="Enter context or passage", lines=6) | |
model_choice = gr.Radio(["π€ DistilBERT", "π§ TinyRoBERTa", "π BERT Base"], label="Choose a model") | |
button = gr.Button("Get Answer") | |
with gr.Column(): | |
output = gr.Textbox(label="Answer", lines=3) | |
button.click(fn=answer_question, inputs=[question, context, model_choice], outputs=output) | |
gr.HTML("<footer>Designed by Mehak Mazhar</footer>") | |
demo.launch() | |