XlordSBERTNow / app.py
Xlordo's picture
Upload 4 files
d23be29 verified
raw
history blame contribute delete
876 Bytes
import gradio as gr
import pickle
import faiss
from sentence_transformers import SentenceTransformer
# Load SBERT model
model = SentenceTransformer("sentence-transformers/all-mpnet-base-v2")
# Load passages + FAISS index from prebuilt file
with open("sbert_index.pkl", "rb") as f:
data = pickle.load(f)
passages = data["passages"]
index = data["index"]
def sbert_search(query, k=10):
query_embedding = model.encode([query])
distances, indices = index.search(query_embedding, k)
results = [passages[i] for i in indices[0]]
return "\n\n".join(results)
# Gradio UI
demo = gr.Interface(
fn=sbert_search,
inputs=gr.Textbox(label="Enter your query"),
outputs=gr.Textbox(label="Top results"),
title="SBERT Semantic Search",
description="Search 10,000 MS MARCO passages using SBERT + FAISS"
)
if __name__ == "__main__":
demo.launch()