from mcp_server_qdrant.embeddings.base import EmbeddingProvider from mcp_server_qdrant.embeddings.types import EmbeddingProviderType from mcp_server_qdrant.settings import EmbeddingProviderSettings def create_embedding_provider( settings: EmbeddingProviderSettings, enable_sparse: bool = False ) -> EmbeddingProvider: """ Create an embedding provider based on the specified type. :param settings: The settings for the embedding provider. :param enable_sparse: Whether to enable sparse (BM25) embeddings. :return: An instance of the specified embedding provider. """ if settings.provider_type == EmbeddingProviderType.FASTEMBED: from mcp_server_qdrant.embeddings.fastembed import FastEmbedProvider return FastEmbedProvider(settings.model_name, enable_sparse=enable_sparse) else: raise ValueError(f"Unsupported embedding provider: {settings.provider_type}")