from langchain_community.embeddings import HuggingFaceBgeEmbeddings from langchain_community.embeddings import HuggingFaceEmbeddings def get_embeddings_function(version = "v1.2"): if version == "v1.2": # https://huggingface.co/BAAI/bge-base-en-v1.5 # Best embedding model at a reasonable size at the moment (2023-11-22) # model_name = "BAAI/bge-base-en-v1.5" # https://huggingface.co/BAAI/bge-m3 # A better one from 2024-04 model_name = "BAAI/bge-m3" encode_kwargs = {'normalize_embeddings': True} # set True to compute cosine similarity print("Loading embeddings model: ", model_name) embeddings_function = HuggingFaceBgeEmbeddings( model_name=model_name, encode_kwargs=encode_kwargs, query_instruction="Represent this sentence for searching relevant passages: " ) else: embeddings_function = HuggingFaceEmbeddings(model_name = "sentence-transformers/multi-qa-mpnet-base-dot-v1") return embeddings_function