ethanlim04's picture
Rename main.py to app.py
d21eed2 verified
raw
history blame
1.67 kB
import gradio as gr
import matplotlib
import models
import utils
def infer(gt: str, data: str) -> matplotlib.figure:
nli_res = models.compute_metric(gt, data)
tone_res = models.compare_tone(gt, data)
res_text = ""
if (nli_res["label"] == "neutral"):
res_text += "Model's response is unrelated to the Ground Truth"
if (nli_res["label"] == "contradiction"):
res_text += "Model's response contradicts the Ground Truth"
if (nli_res["label"] == "entailment"):
res_text += "Model's response is consistant with the Ground Truth"
return res_text, utils.create_pie_chart_nli(nli_res), utils.plot_tones(tone_res)
examples = [["Cross-encoders are better than bi-encoders for analyzing the relationship betwen texts", "Bi-encoders are superior to cross-encoders"],
["Cross-encoders are better than bi-encoders for analyzing the relationship betwen texts", "The cosine similarity function can be used to compare the outputs of a bi-encoder"],
["Cross-encoders are better than bi-encoders for analyzing the relationship betwen texts", "Bi-encoders are outperformed by cross-encoders in the task of relationship analysis"],
["Birds can fly. There are fish in the sea.", "Fish inhabit the ocean. Birds can aviate."],
["Birds can fly. There are fish in the sea.", "Fish inhabit the ocean. Birds can not aviate."]]
app = gr.Interface(fn=infer, inputs=[gr.Textbox(label="Ground Truth"), gr.Textbox(label="Model Response")], examples=examples, outputs=[gr.Textbox(label="Result"), gr.Plot(label="Comparison with GT"), gr.Plot(label="Difference in Tone")])
app.launch()