settings.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. from core_shared import ServiceSettings
  2. class KnowledgeServiceSettings(ServiceSettings):
  3. service_name: str = "knowledge-service"
  4. service_port: int = 8012
  5. default_chunk_size: int = 800
  6. default_chunk_overlap: int = 120
  7. embedding_dimensions: int = 32
  8. embedding_model: str = "local-hash-v1"
  9. embedding_provider: str = "local"
  10. embedding_base_url: str | None = None
  11. embedding_api_key: str | None = None
  12. embedding_timeout_seconds: float = 30.0
  13. embedding_fallback_to_local: bool = True
  14. retrieval_keyword_weight: float = 0.55
  15. retrieval_vector_weight: float = 0.30
  16. retrieval_rerank_weight: float = 0.15
  17. retrieval_rerank_enabled: bool = True
  18. retrieval_candidate_multiplier: int = 5
  19. object_storage_backend: str = "minio"
  20. object_storage_bucket: str = "agent-platform-knowledge"
  21. object_storage_endpoint_url: str = "http://127.0.0.1:9000"
  22. object_storage_access_key: str = "minioadmin"
  23. object_storage_secret_key: str = "minioadmin"
  24. object_storage_region: str = "us-east-1"
  25. object_storage_path_style: bool = True
  26. async_indexing_enabled: bool = True
  27. worker_poll_interval_seconds: float = 1.0
  28. worker_lease_seconds: int = 300
  29. worker_stale_indexing_seconds: int = 600
  30. worker_max_idle_cycles: int | None = None
  31. auto_worker_enabled: bool = True
  32. auto_worker_stop_timeout_seconds: float = 5.0