Vela
created project
fa19bce
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)