| from typing import Optional | |
| from pydantic import Field, PositiveInt | |
| from pydantic_settings import BaseSettings | |
| class ChromaConfig(BaseSettings): | |
| """ | |
| Configuration settings for Chroma vector database | |
| """ | |
| CHROMA_HOST: Optional[str] = Field( | |
| description="Hostname or IP address of the Chroma server (e.g., 'localhost' or '192.168.1.100')", | |
| default=None, | |
| ) | |
| CHROMA_PORT: PositiveInt = Field( | |
| description="Port number on which the Chroma server is listening (default is 8000)", | |
| default=8000, | |
| ) | |
| CHROMA_TENANT: Optional[str] = Field( | |
| description="Tenant identifier for multi-tenancy support in Chroma", | |
| default=None, | |
| ) | |
| CHROMA_DATABASE: Optional[str] = Field( | |
| description="Name of the Chroma database to connect to", | |
| default=None, | |
| ) | |
| CHROMA_AUTH_PROVIDER: Optional[str] = Field( | |
| description="Authentication provider for Chroma (e.g., 'basic', 'token', or a custom provider)", | |
| default=None, | |
| ) | |
| CHROMA_AUTH_CREDENTIALS: Optional[str] = Field( | |
| description="Authentication credentials for Chroma (format depends on the auth provider)", | |
| default=None, | |
| ) | |