Spaces:
Sleeping
Sleeping
| 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() |