File size: 1,009 Bytes
314e98e
a8efbc5
 
 
314e98e
a8efbc5
 
314e98e
a8efbc5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
314e98e
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
30
31
32
import gradio as gr
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
import numpy as np

# Carga el modelo
model = SentenceTransformer('Maite89/Roberta_finetuning_semantic_similarity_stsb_multi_mt')

# Función para obtener embeddings del modelo
def get_embeddings(sentences):
    embeddings = model.encode(sentences, show_progress_bar=False)
    return np.array(embeddings)

# Función para comparar las sentencias
def compare(source_sentence, compare_sentence):
    # Calcula la similitud
    embeddings = get_embeddings([source_sentence, compare_sentence])
    similarity = float(cosine_similarity(embeddings[0].reshape(1, -1), embeddings[1].reshape(1, -1))[0][0])  # Convert the numpy.float32 to Python float
    
    return similarity

# Define las interfaces de entrada y salida de Gradio
iface = gr.Interface(
    fn=compare, 
    inputs=["text", "text"], 
    outputs="number",
    live=True
)

# Inicia la interfaz de Gradio
iface.launch()