from core_shared import ServiceSettings class KnowledgeServiceSettings(ServiceSettings): service_name: str = "knowledge-service" service_port: int = 8012 database_url: str = "sqlite:///./knowledge_service.db" default_chunk_size: int = 800 default_chunk_overlap: int = 120 embedding_dimensions: int = 32 embedding_model: str = "local-hash-v1" embedding_provider: str = "local" embedding_base_url: str | None = None embedding_api_key: str | None = None embedding_timeout_seconds: float = 30.0 embedding_fallback_to_local: bool = True retrieval_keyword_weight: float = 0.55 retrieval_vector_weight: float = 0.30 retrieval_rerank_weight: float = 0.15 retrieval_rerank_enabled: bool = True retrieval_candidate_multiplier: int = 5