Spaces:
Runtime error
Runtime error
import pandas as pd | |
import numpy as np | |
from sentence_transformers import SentenceTransformer | |
from sklearn.neighbors import NearestNeighbors | |
import gradio as gr | |
# Load data | |
data = pd.read_csv("Mental_Health_FAQ.csv") | |
data.rename(columns={'Questions': 'question', 'Answers': 'answer'}, inplace=True) | |
# Load model and encode questions | |
model = SentenceTransformer('all-MiniLM-L6-v2') | |
faq_embeddings = model.encode(data['question'].tolist()) | |
# Use Nearest Neighbors instead of FAISS | |
nn = NearestNeighbors(n_neighbors=3, metric='cosine') | |
nn.fit(faq_embeddings) | |
# Define query function | |
def gradio_faq(query): | |
query_embedding = model.encode([query]) | |
distances, indices = nn.kneighbors(query_embedding) | |
results = "" | |
for rank, idx in enumerate(indices[0]): | |
question = data.iloc[idx]['question'] | |
answer = data.iloc[idx]['answer'] | |
results += f"🔹 **Q{rank+1}:** {question}\n**A:** {answer}\n\n" | |
return results.strip() | |
# Launch Gradio interface | |
gr.Interface( | |
fn=gradio_faq, | |
inputs=gr.Textbox(label="Ask a Mental Health Question"), | |
outputs=gr.Markdown(label="Top Answers"), | |
title="🧠 Mental Health FAQ Assistant", | |
description="Type your question to get the most relevant answers from the FAQ dataset." | |
).launch() | |