File size: 1,673 Bytes
967ebb5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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()