import gradio as gr | |
from transformers.utils import logging | |
logging.set_verbosity_error() | |
from sentence_transformers import SentenceTransformer | |
from sentence_transformers import util | |
def compare(sentences1, sentences2): | |
sentences1 = sentences1.splitlines() | |
sentences2 = sentences2.splitlines() | |
embeddings1 = model.encode(sentences1, convert_to_tensor=True) | |
embeddings2 = model.encode(sentences2, convert_to_tensor=True) | |
cosine_scores = util.cos_sim(embeddings1, embeddings2) | |
output = "" | |
for i in range(len(sentences1)): | |
output += "Score: {:.4f} \t\t {} \t\t {}\n".format(cosine_scores[i][i], sentences1[i], sentences2[i]) | |
return output | |
model = SentenceTransformer("all-MiniLM-L6-v2") | |
demo = gr.Interface( | |
compare, | |
[ | |
gr.Textbox( | |
label="Text", | |
info="Initial text", | |
lines=3, | |
value="I like cats\nTea puts me to sleep\nThe quick brown fox jumped over the lazy dogs.", | |
), | |
gr.Textbox( | |
label="Compare Text", | |
info="Text to compare", | |
lines=3, | |
value="I love kittens\nCoffee wakes me up\nThe fast brown fox jumps over lazy dogs.", | |
), | |
], outputs="text") | |
demo.launch() | |
gr.close_all() |