Spaces:
Sleeping
Sleeping
| from langchain_community.embeddings import FastEmbedEmbeddings | |
| from app.config import config | |
| from app.utils.logger import logger | |
| class Embedder: | |
| def __init__(self): | |
| self.model = None | |
| def get_embeddings(self): | |
| if self.model is None: | |
| model_name = config["models"]["embedding"]["model_name"] | |
| max_length = config["models"]["embedding"]["max_length"] | |
| self.model = FastEmbedEmbeddings( | |
| model_name=model_name, | |
| max_length=max_length | |
| ) | |
| logger.info(f"FastEmbed model loaded: {model_name}") | |
| return self.model | |
| def embed_documents(self, texts: list[str]) -> list[list[float]]: | |
| embeddings = self.get_embeddings() | |
| return embeddings.embed_documents(texts) | |
| def embed_query(self, text: str) -> list[float]: | |
| embeddings = self.get_embeddings() | |
| return embeddings.embed_query(text) | |
| embedder = Embedder() | |