| 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, |
| ) |
|
|