Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import pandas as pd | |
| import numpy as np | |
| import pickle | |
| from sentence_transformers import SentenceTransformer | |
| from sklearn.metrics.pairwise import cosine_similarity | |
| model = SentenceTransformer('paraphrase-distilroberta-base-v1') | |
| # Load the dataset | |
| data = pd.read_csv('data/Recommender_data.csv') | |
| # Load the precomputed embeddings | |
| with open('data/Model/tool_embeddings.pkl', 'rb') as f: | |
| tool_embeddings = pickle.load(f) | |
| # # Load the model from the file using pickle | |
| # with open('data/Model/model.pkl', 'rb') as f: | |
| # model = pickle.load(f) | |
| # def get_sentiment(input_text): | |
| # return sentiment(input_text) | |
| # Define the recommendation function | |
| def recommend(product_idea, model=model):#, model=model | |
| # Load the pre-trained model | |
| #model = SentenceTransformer('paraphrase-distilroberta-base-v1') | |
| # Compute the embedding for the product idea | |
| product_embedding = model.encode([product_idea]) | |
| # Compute the cosine similarity between the product idea vector and all tool vectors | |
| cosine_sim_product = cosine_similarity(product_embedding, tool_embeddings) | |
| # Sort the results in descending order and get the indices of the most similar tools | |
| indices = np.argsort(cosine_sim_product)[0][::-1] | |
| # Return the top 5 most similar tools | |
| recommendations = {data.iloc[indices[i]]['Tools']: {"Description":data.iloc[indices[i]]['Description'],"URL":data.iloc[indices[i]]['URL'],"Logo":data.iloc[indices[i]]['Logo']} for i in range(4)} | |
| return recommendations | |
| iface = gr.Interface(fn = recommend, | |
| inputs = "text", | |
| outputs = ['text'], | |
| title = 'OHA', | |
| description="Get OHA Recomandation for the given input") | |
| iface.launch(inline = False) |