myspace / app.py
preetidav's picture
Update app.py
36862ca verified
import gradio as gr
from sentence_transformers import SentenceTransformer
import numpy as np
# Load the Sentence Transformer model
model = SentenceTransformer("preetidav/salesforce-similarity-model")
# Function to generate embeddings
def get_embedding(sentence):
embedding = model.encode(sentence)
return str(embedding) # Convert NumPy array to string for display
# Function to calculate similarity between two sentences
def get_similarity(sentence1, sentence2):
emb1 = model.encode(sentence1)
emb2 = model.encode(sentence2)
similarity = np.dot(emb1, emb2) / (np.linalg.norm(emb1) * np.linalg.norm(emb2))
return f"Similarity Score: {similarity:.2f}"
# Create Gradio interface
with gr.Blocks() as demo:
gr.Markdown("## Sentence Embedding & Similarity App πŸš€")
with gr.Tab("Get Sentence Embedding"):
input_text = gr.Textbox(label="Enter a sentence:")
output_embedding = gr.Textbox(label="Embedding:")
btn = gr.Button("Generate Embedding")
btn.click(get_embedding, inputs=input_text, outputs=output_embedding)
with gr.Tab("Compare Sentence Similarity"):
text1 = gr.Textbox(label="Sentence 1:")
text2 = gr.Textbox(label="Sentence 2:")
output_similarity = gr.Textbox(label="Similarity Score:")
btn2 = gr.Button("Compare")
btn2.click(get_similarity, inputs=[text1, text2], outputs=output_similarity)
# Launch the Gradio app
demo.launch()