File size: 1,104 Bytes
a415299
e21a6e7
1869c5e
b488926
fe010cc
 
e9199db
 
fe010cc
 
 
 
e9199db
 
 
 
 
 
fe010cc
 
 
e9199db
fe010cc
 
 
e9199db
fe010cc
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import gradio as gr
from transformers import pipeline
from sentence_transformers import SentenceTransformer, util

generator_a = pipeline("text-generation", model="gpt2")
generator_b = pipeline("text2text-generation", model="google/flan-t5-base")
similarity_model = SentenceTransformer("sentence-transformers/paraphrase-MiniLM-L6-v2")

def comparar(prompt):
    resp_a = generator_a(prompt, max_new_tokens=60, temperature=0.7)[0]["generated_text"]
    resp_b = generator_b(prompt, max_new_tokens=60, temperature=0.7)[0]["generated_text"]

    emb_a = similarity_model.encode(resp_a, convert_to_tensor=True)
    emb_b = similarity_model.encode(resp_b, convert_to_tensor=True)
    similaridade = util.cos_sim(emb_a, emb_b).item()

    return resp_a.strip(), resp_b.strip(), f"{similaridade:.4f}"

gr.Interface(
    fn=comparar,
    inputs=gr.Textbox(label="Digite um prompt"),
    outputs=[
        gr.Textbox(label="Resposta do GPT-2"),
        gr.Textbox(label="Resposta do Flan-T5"),
        gr.Textbox(label="Similaridade entre respostas")
    ],
    title="Comparador de Modelos LLM Leves"
).launch()