P4_DocQnA / app.py
basharat8763's picture
Create app.py
19d6563 verified
import torch
import gradio as gr
# Use a pipeline as a high-level helper
from transformers import pipeline
# model_path = "../Models/models--deepset--roberta-base-squad2/snapshots/adc3b06f79f797d1c575d5479d6f5efe54a9e3b4"
question_answer = pipeline("question-answering", model="deepset/roberta-base-squad2")
# question_answer = pipeline("question-answering", model=model_path)
def read_file_content(file_obj):
"""
Reads the content of a file object and returns it.
Parameters:
file_obj (file object): The file object to read from.
Returns:
str: The content of the file.
"""
try:
with open(file_obj.name, 'r', encoding='utf-8') as file:
context = file.read()
return context
except Exception as e:
return f"An error occurred: {e}"
def get_answer(file, question):
context = read_file_content(file)
answer = question_answer(question=question, context=context)
return answer["answer"]
demo = gr.Interface(
fn=get_answer,
inputs=[gr.File(label="Upload your file"), gr.Textbox(label="Input your question", lines=1)],
outputs=[gr.Textbox(label="Answer text", lines=1)],
title="Project 04: Document QnA",
description="As understood from the title, if not already, this application will provide answer to your question "
"based on the context provided"
)
demo.launch()