settings.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  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 = 1536
  8. embedding_model: str = "text-embedding-3-small"
  9. embedding_provider: str = "model_gateway"
  10. model_gateway_service_url: str = "http://127.0.0.1:8005"
  11. model_gateway_timeout_seconds: float = 30.0
  12. embedding_base_url: str | None = None
  13. embedding_api_key: str | None = None
  14. embedding_timeout_seconds: float = 30.0
  15. embedding_fallback_to_local: bool = True
  16. retrieval_keyword_weight: float = 0.55
  17. retrieval_vector_weight: float = 0.30
  18. retrieval_rerank_weight: float = 0.15
  19. retrieval_rerank_enabled: bool = True
  20. retrieval_candidate_multiplier: int = 5
  21. object_storage_backend: str = "minio"
  22. object_storage_bucket: str = "agent-platform-knowledge"
  23. object_storage_endpoint_url: str = "http://127.0.0.1:9000"
  24. object_storage_access_key: str = "minioadmin"
  25. object_storage_secret_key: str = "minioadmin"
  26. object_storage_region: str = "us-east-1"
  27. object_storage_path_style: bool = True
  28. async_indexing_enabled: bool = True
  29. worker_poll_interval_seconds: float = 1.0
  30. worker_lease_seconds: int = 300
  31. worker_stale_indexing_seconds: int = 600
  32. worker_max_idle_cycles: int | None = None
  33. auto_worker_enabled: bool = True
  34. auto_worker_stop_timeout_seconds: float = 5.0