# import numpy as np # from sklearn.metrics.pairwise import cosine_similarity # from utils.convert_embedding import GetEmbedding # import random # import pickle # import os # from utils.rag import RAG # from faster_whisper import WhisperModel # def process(user_query:str): # # dump_user_question(user_query) # user_embedding = GetEmbedding([user_query]).user_query_emb() # with open(r"all_mix_embedding.pkl","rb") as f: # load_embedding = pickle.load(f) # with open(r"all_answers.pkl","rb") as f: # ans = pickle.load(f) # similarity_scores = cosine_similarity(user_embedding, load_embedding) # index = np.argmax(similarity_scores) # answer = ans[index] # score = similarity_scores[0,index] # print(f"Index : {index}:\tscore:{score} \tquery: {user_query}") # if float(score) > 0.60 : # final_output = random.choice(answer) # else: # final_output = RAG().pipeline(query=user_query) # return final_output # def audio_process(audio): # try: # model = WhisperModel(model_size_or_path="medium.en") # segments, info = model.transcribe(audio) # transcription = " ".join([seg.text for seg in segments]) # result = process(user_query=transcription) # return result # except Exception as e: # print("Error:", e) # return str(e) # if __name__ == "__main__": # res = audio_process(r"C:\Users\lalit\Documents\Sound recordings\who_is_lalit.m4a") # print(res) # # for _ in range(3): # # user = input("How can i help you :? \n") # # result = process(user) # # print(result) # # with open(r"data\question_data.pkl","rb") as f: # # que = pickle.load(f) # # print(que)