Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import numpy as np | |
| import json | |
| from sentence_transformers import SentenceTransformer, util | |
| # Load precomputed QA pairs and embeddings | |
| with open("qa.json", encoding="utf-8") as f: | |
| QA_PAIRS = json.load(f) | |
| QA_EMBEDDINGS = np.load("qa.npy") | |
| hf_model = SentenceTransformer('all-MiniLM-L6-v2') | |
| def find_similar(question): | |
| user_embedding = hf_model.encode(question, convert_to_tensor=True) | |
| similarities = util.cos_sim(user_embedding, QA_EMBEDDINGS)[0] | |
| best_score = float(similarities.max()) | |
| best_index = int(similarities.argmax()) | |
| if best_score >= 0.6: | |
| return QA_PAIRS[best_index]["answer"] | |
| else: | |
| return "Sorry, I could not find a relevant answer." | |
| iface = gr.Interface( | |
| fn=find_similar, | |
| inputs=gr.Textbox(label="Your Question"), | |
| outputs=gr.Textbox(label="Answer"), | |
| title="Similarity Service" | |
| ) | |
| iface.launch() | |