|
import gradio as gr |
|
from datasets import load_dataset |
|
from transformers import pipeline |
|
import pandas as pd |
|
|
|
def run_evaluation(): |
|
|
|
dataset = load_dataset("JAIKRISHVK/qa_dataset") |
|
questions = dataset["train"] |
|
|
|
|
|
model = pipeline("text2text-generation", model="google/flan-t5-base") |
|
|
|
results = [] |
|
for item in questions: |
|
question = item.get("Question") or item.get("question") or "" |
|
try: |
|
output = model(question, max_length=50) |
|
answer = output[0].get("generated_text", "").strip() |
|
except Exception as e: |
|
answer = f"Error: {e}" |
|
results.append({"Question": question, "Answer": answer}) |
|
|
|
|
|
df = pd.DataFrame(results) |
|
|
|
file_path = "/tmp/generated_answers.csv" |
|
df.to_csv(file_path, index=False) |
|
|
|
return df, file_path |
|
|
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("## AI Question Answer Evaluation") |
|
submit_btn = gr.Button("RUN EVALUATION & SUBMIT ALL ANSWERS") |
|
output_table = gr.DataFrame() |
|
download_file = gr.File(label="Download CSV") |
|
|
|
submit_btn.click(fn=run_evaluation, outputs=[output_table, download_file]) |
|
|
|
demo.launch() |
|
|