chroma_config.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. from typing import Optional
  2. from pydantic import Field, PositiveInt
  3. from pydantic_settings import BaseSettings
  4. class ChromaConfig(BaseSettings):
  5. """
  6. Configuration settings for Chroma vector database
  7. """
  8. CHROMA_HOST: Optional[str] = Field(
  9. description="Hostname or IP address of the Chroma server (e.g., 'localhost' or '192.168.1.100')",
  10. default=None,
  11. )
  12. CHROMA_PORT: PositiveInt = Field(
  13. description="Port number on which the Chroma server is listening (default is 8000)",
  14. default=8000,
  15. )
  16. CHROMA_TENANT: Optional[str] = Field(
  17. description="Tenant identifier for multi-tenancy support in Chroma",
  18. default=None,
  19. )
  20. CHROMA_DATABASE: Optional[str] = Field(
  21. description="Name of the Chroma database to connect to",
  22. default=None,
  23. )
  24. CHROMA_AUTH_PROVIDER: Optional[str] = Field(
  25. description="Authentication provider for Chroma (e.g., 'basic', 'token', or a custom provider)",
  26. default=None,
  27. )
  28. CHROMA_AUTH_CREDENTIALS: Optional[str] = Field(
  29. description="Authentication credentials for Chroma (format depends on the auth provider)",
  30. default=None,
  31. )