from .embeddings_type import EmbeddingsType from ..chunkers.chunk_strategy import ChunkStrategy class Embeddings: def __init__( self, embeddings_type: EmbeddingsType = EmbeddingsType.OPEN_AI, chunk_size: int = 256, chunk_overlap: int = 128, chunk_strategy: ChunkStrategy = ChunkStrategy.EXACT, docker_image: str = None, hugging_face_model_name: str = None, ): self.embeddings_type = embeddings_type self.chunk_size = chunk_size self.chunk_overlap = chunk_overlap self.chunk_strategy = chunk_strategy self.docker_image = docker_image self.hugging_face_model_name = hugging_face_model_name def serialize(self): data = { "embeddings_type": self.embeddings_type.name if self.embeddings_type else None, "chunk_size": self.chunk_size, "chunk_overlap": self.chunk_overlap, "chunk_strategy": self.chunk_strategy.name if self.chunk_strategy else None, "docker_image": self.docker_image, "hugging_face_model_name": self.hugging_face_model_name, } return {k: v for k, v in data.items() if v is not None}