# -*- coding: utf-8 -*- from transformers import pipeline import gradio as gr from gradio.components import Textbox import csv import ast examples = [] # 打开 CSV 文件以供读取 with open('Preprocess_validation.csv', mode='r') as csv_file: csv_reader = csv.reader(csv_file) # 读取前五行数据 for i, row in enumerate(csv_reader): row_q = ast.literal_eval(row[4])['text'][0] row_c = row[10] examples.append([row_q, row_c]) inputs = [ Textbox(lines=3, label="Question"), Textbox(lines=12, label="Context paragraph"), ] question_answering = pipeline( "question-answering", model = pipeline( "question-answering", model="xjlulu/ntu_adl_span_selection_cluecorpussmall", framework="pt" ) ) def generate_answer(question, context): result = question_answering(question=question, context=context) return result['answer'] iface = gr.Interface( fn=generate_answer, inputs=inputs, outputs=gr.Textbox(lines=10, label="Answer"), title="Question Answering", description="Answer questions based on a given context paragraph", live=False, examples=examples, theme="huggingface" ) iface.launch()