qa_sparse_bert / app.py
Benjamin Consolvo
text box
33ff5cc
raw
history blame
1.7 kB
import gradio as gr
from transformers import pipeline
qa_pipeline = pipeline(task="question-answering",model="Intel/bert-base-uncased-squadv1.1-sparse-80-1x4-block-pruneofa")
def greet(name):
return "Hello " + name + "!!"
def predict(context="There are seven continents in the world.",question="How many continents are there in the world?"):
'''
Sample prediction should return a dictionary of the form:
{'score': 0.9376363158226013, 'start': 10, 'end': 15, 'answer': 'seven'}
'''
predictions = qa_pipeline(context=context,question=question)
print(f'predictions={predictions}')
return predictions
md = """
If you came looking for chatGPT, sorry to disappoint, but this is different. This prediction model is designed to answer a question about a text. It is designed to do reading comprehension. The model does not just answer questions in general -- it only works from the text that you provide. However, accomplishing accurate reading comprehension can be a very valuable task, especially if you are attempting to get quick answers from a large (and maybe boring!) document.
Training dataset: SQuADv1.1, based on the Rajpurkar et al. (2016) paper: [SQuAD: 100,000+ Questions for Machine Comprehension of Text](https://aclanthology.org/D16-1264/)
Based on the Zafrir et al. (2021) paper: [Prune Once for All: Sparse Pre-Trained Language Models](https://arxiv.org/abs/2111.05754) paper.
"""
# predict()
iface = gr.Interface(
fn=predict,
inputs=[gr.TextBox('Context'),gr.TextBox('Question')],
outputs="text",
# examples =
title = "Question & Answer with Sparse BERT using the SQuAD dataset",
description = md
)
iface.launch()