Implement the server with FastMCP

This commit is contained in:
Kacper Łukawski
2025-03-10 09:25:02 +01:00
parent f8d3cc474b
commit 18cc93f6c8
16 changed files with 1079 additions and 1064 deletions

View File

@@ -1,17 +1,16 @@
from mcp_server_qdrant.embeddings import EmbeddingProvider
from mcp_server_qdrant.settings import EmbeddingProviderSettings
def create_embedding_provider(provider_type: str, model_name: str) -> EmbeddingProvider:
def create_embedding_provider(settings: EmbeddingProviderSettings) -> EmbeddingProvider:
"""
Create an embedding provider based on the specified type.
:param provider_type: The type of embedding provider to create.
:param model_name: The name of the model to use for embeddings, specific to the provider type.
:param settings: The settings for the embedding provider.
:return: An instance of the specified embedding provider.
"""
if provider_type.lower() == "fastembed":
from .fastembed import FastEmbedProvider
if settings.provider_type.lower() == "fastembed":
from mcp_server_qdrant.embeddings.fastembed import FastEmbedProvider
return FastEmbedProvider(model_name)
return FastEmbedProvider(settings.model_name)
else:
raise ValueError(f"Unsupported embedding provider: {provider_type}")
raise ValueError(f"Unsupported embedding provider: {settings.provider_type}")

View File

@@ -3,7 +3,7 @@ from typing import List
from fastembed import TextEmbedding
from .base import EmbeddingProvider
from mcp_server_qdrant.embeddings.base import EmbeddingProvider
class FastEmbedProvider(EmbeddingProvider):