Spaces:
Runtime error
Runtime error
File size: 1,275 Bytes
f2204ac 8d46462 f2204ac 8d46462 f2204ac 8d46462 f2204ac 8d46462 f2204ac 8d46462 f2204ac 8d46462 f2204ac 8d46462 f2204ac a08903f f2204ac 8d46462 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
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()
|