Spaces:
Sleeping
Sleeping
| from sentence_transformers import SentenceTransformer, util | |
| from sklearn.linear_model import LogisticRegression | |
| import pickle | |
| from sklearn.model_selection import train_test_split | |
| from sklearn.metrics.pairwise import cosine_similarity | |
| import torch | |
| import pandas as pd | |
| import os | |
| topics = [ | |
| "Ankle Sprain : Recovery exercises for ankle sprains and rehabilitation tips.", | |
| "Back Pain : Best practices for relieving back pain and strengthening exercises.", | |
| "Shoulder Injury : Shoulder injury rehabilitation, strengthening, and recovery techniques." | |
| ] | |
| def get_encoding_model(): | |
| model_encode = SentenceTransformer('Alibaba-NLP/gte-base-en-v1.5', trust_remote_code=True) | |
| save_model(model_encode,"embedding_model.pkl") | |
| def get_embedding(text): | |
| if not os.path.exists("embedding_model.pkl"): | |
| loaded_model = get_encoding_model() | |
| model_encode = load_model("embedding_model.pkl") | |
| embedding = model_encode.encode(text) | |
| return embedding | |
| def save_model(model, filename): | |
| with open(filename, 'wb') as model_file: | |
| pickle.dump(model, model_file) | |
| print(f"Model saved to {filename}") | |
| def load_model(filename): | |
| # loaded_model = joblib.load('log_reg_model.pkl') | |
| with open(filename, 'rb') as model_file: | |
| loaded_model = pickle.load(model_file) | |
| print(f"Model loaded from {filename}") | |
| return loaded_model | |
| def get_cosine_similarity(prompt): | |
| message = "Phsyiotherapy" | |
| embendding = get_embedding([message,prompt]) | |
| similarity = util.cos_sim(embendding[0], embendding[1]).item() | |
| return round(similarity, 4) |