Qifan Zhang
add feature 1
cf575f8
raw
history blame
1.26 kB
from typing import Optional
import gradio as gr
import pandas as pd
from utils.similarity import batch_cos_sim
def read_data(filepath: str) -> Optional[pd.DataFrame]:
if not filepath:
return None
if filepath.endswith('.xlsx'):
df = pd.read_csv(filepath)
elif filepath.endswith('.csv'):
df = pd.read_csv(filepath)
else:
raise Exception('File type not supported')
return df
def process(model_name: str,
prompt: str,
file=None,
):
df = read_data(file.name)
df = batch_cos_sim(df, model_name)
path = 'output.csv'
df.to_csv(path, index=False, encoding='utf-8-sig')
return df.to_markdown(), path
model_name_input = gr.components.Textbox(
value='paraphrase-multilingual-MiniLM-L12-v2',
lines=1,
type="text"
)
prompt_input = gr.components.Textbox(
value='prompt,response',
lines=10,
type="text"
)
file_output = gr.components.File(label="Output File",
file_count="single",
file_types=["", ".", ".csv", ".xls", ".xlsx"])
app = gr.Interface(
fn=process,
inputs=[model_name_input, prompt_input, "file" ],
outputs=["text", file_output]
)
app.launch()