embedding / app.py
rishiraj's picture
Create app.py
09ea753 verified
raw
history blame
1.19 kB
import gradio as gr
from sentence_transformers import SentenceTransformer
import spaces
import torch
import ast
# Load the model
model = SentenceTransformer("Qwen/Qwen3-Embedding-0.6B")
@spaces.GPU
def compute(queries_input, documents_input):
try:
# Convert string input to Python lists
queries = ast.literal_eval(queries_input)
documents = ast.literal_eval(documents_input)
# Validate input
if not isinstance(queries, list) or not isinstance(documents, list):
return "Inputs must be lists."
# Generate embeddings
query_embeddings = model.encode(queries, prompt_name="query")
document_embeddings = model.encode(documents)
# Compute similarity
similarity_matrix = torch.tensor(model.similarity(query_embeddings, document_embeddings))
return similarity_matrix.tolist()
except Exception as e:
return str(e)
demo = gr.Interface(
fn=compute,
inputs=[
gr.Textbox(label="Queries (Python list, e.g. ['query1', 'query2'])"),
gr.Textbox(label="Documents (Python list, e.g. ['doc1', 'doc2'])")
],
outputs="json",
title="embedding"
)
demo.launch()