Teradata/multilingual-e5-base
096
1import onnxruntime as rt2 3from sentence_transformers.util import cos_sim4from sentence_transformers import SentenceTransformer5 6import transformers7 8import gc9import json10 11 12with open('conversion_config.json') as json_file:13 conversion_config = json.load(json_file)14 15 16 model_id = conversion_config["model_id"]17 number_of_generated_embeddings = conversion_config["number_of_generated_embeddings"]18 precision_to_filename_map = conversion_config["precision_to_filename_map"]19 20 sentences_1 = 'How is the weather today?'21 sentences_2 = 'What is the current weather like today?'22 23 print(f"Testing on cosine similiarity between sentences: \n'{sentences_1}'\n'{sentences_2}'\n\n\n")24 25 tokenizer = transformers.AutoTokenizer.from_pretrained("./")26 enc1 = tokenizer(sentences_1)27 enc2 = tokenizer(sentences_2)28 29 for precision, file_name in precision_to_filename_map.items():30 31 32 onnx_session = rt.InferenceSession(file_name)33 embeddings_1_onnx = onnx_session.run(None, {"input_ids": [enc1.input_ids], 34 "attention_mask": [enc1.attention_mask]})[1][0]35 36 embeddings_2_onnx = onnx_session.run(None, {"input_ids": [enc2.input_ids], 37 "attention_mask": [enc2.attention_mask]})[1][0]38 39 del onnx_session40 gc.collect()41 print(f'Cosine similiarity for ONNX model with precision "{precision}" is {str(cos_sim(embeddings_1_onnx, embeddings_2_onnx))}')42 43 44 45 46 model = SentenceTransformer(model_id, trust_remote_code=True)47 embeddings_1_sentence_transformer = model.encode(sentences_1, normalize_embeddings=True, trust_remote_code=True)48 embeddings_2_sentence_transformer = model.encode(sentences_2, normalize_embeddings=True, trust_remote_code=True)49 print('Cosine similiarity for original sentence transformer model is '+str(cos_sim(embeddings_1_sentence_transformer, embeddings_2_sentence_transformer)))