Spaces:
Sleeping
Sleeping
File size: 1,045 Bytes
0a96660 d641e1d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | from langchain_huggingface import HuggingFaceEmbeddings
from config import EMBEDDING_MODEL
_embedding_model_instance = None
def get_embedding_model() -> HuggingFaceEmbeddings:
global _embedding_model_instance
if _embedding_model_instance is None:
_embedding_model_instance = HuggingFaceEmbeddings(
model_name=EMBEDDING_MODEL,
model_kwargs={"local_files_only": True}
)
return _embedding_model_instance
from langchain_core.embeddings import Embeddings
class LazyEmbeddingModel(Embeddings):
def __getattr__(self, name):
return getattr(get_embedding_model(), name)
def embed_documents(self, texts, *args, **kwargs):
return get_embedding_model().embed_documents(texts, *args, **kwargs)
def embed_query(self, text, *args, **kwargs):
return get_embedding_model().embed_query(text, *args, **kwargs)
def __call__(self, text, *args, **kwargs):
return get_embedding_model().embed_query(text, *args, **kwargs)
embedding_model = LazyEmbeddingModel() |