CoolFace
Apppublic

TechNeur/course_search

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
app.py32 linesDownload Raw Back to root
1import gradio as gr2import pickle3import pandas as pd4from sentence_transformers import SentenceTransformer5from sklearn.metrics.pairwise import cosine_similarity6 7with open("course_emb.pkl", "rb") as f:8    course_emb = pickle.load(f)9 10df = pd.read_excel("analytics_vidhya_courses_Final.xlsx")11 12model = SentenceTransformer('all-MiniLM-L6-v2')13 14def search_courses(query, top_n=5):15    query_embedding = model.encode([query])16    17    similarities = cosine_similarity(query_embedding, course_emb)18    19    top_n_idx = similarities[0].argsort()[-top_n:][::-1]20    21    return df.iloc[top_n_idx][["Course Title", "Course Description"]]22 23def gradio_interface(query):24    top_courses = search_courses(query)25    results = []26    for idx, row in top_courses.iterrows():27        results.append(f"Title: {row['Course Title']}\nDescription: {row['Course Description']}\n")28    return "\n".join(results)29iface = gr.Interface(fn=gradio_interface, inputs=gr.Textbox(label="Enter your search query"), outputs="text")30 31iface.launch(share=True)32