|
import numpy as np |
|
from sklearn.metrics.pairwise import cosine_similarity |
|
from utils.convert_embedding import GetEmbedding |
|
import random |
|
import pickle |
|
import os |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def process(user_query:str): |
|
|
|
user_embedding = GetEmbedding([user_query]).user_query_emb() |
|
with open(r"data\question_embedding_latest.pkl","rb") as f: |
|
load_embedding = pickle.load(f) |
|
|
|
with open(r"data\answer.pkl","rb") as f: |
|
ans = pickle.load(f) |
|
similarity_scores = cosine_similarity(user_embedding, load_embedding) |
|
index = np.argmax(similarity_scores) |
|
answer = ans[index] |
|
|
|
return random.choice(answer) |
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
pass |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|