| """Centralized configuration management using pydantic-settings.""" |
|
|
| import os |
| from typing import Optional |
| from pydantic import Field |
| from pydantic_settings import BaseSettings, SettingsConfigDict |
|
|
|
|
| class Settings(BaseSettings): |
| """Application settings loaded from environment variables.""" |
|
|
| model_config = SettingsConfigDict( |
| env_file=".env", |
| env_file_encoding="utf-8", |
| extra="allow", |
| case_sensitive=False, |
| ) |
|
|
| |
| postgres_connstring: str |
|
|
| |
| redis_url: str |
| redis_prefix: str = "dataeyond-agent-service_" |
|
|
| |
| azureai_api_key_4o: str = Field(alias="azureai__api_key__4o", default="") |
| azureai_endpoint_url_4o: str = Field(alias="azureai__endpoint__url__4o", default="") |
| azureai_deployment_name_4o: str = Field(alias="azureai__deployment__name__4o", default="") |
| azureai_api_version_4o: str = Field(alias="azureai__api__version__4o", default="") |
|
|
| |
| azureai_api_key_embedding: str = Field(alias="azureai__api_key__embedding", default="") |
| azureai_endpoint_url_embedding: str = Field(alias="azureai__endpoint__url__embedding", default="") |
| azureai_deployment_name_embedding: str = Field(alias="azureai__deployment__name__embedding", default="") |
| azureai_api_version_embedding: str = Field(alias="azureai__api__version__embedding", default="") |
|
|
| |
| azureai_docintel_endpoint: str = Field(alias="azureai__docintel__endpoint", default="") |
| azureai_docintel_key: str = Field(alias="azureai__docintel__key", default="") |
|
|
| |
| azureai_blob_sas: str = Field(alias="azureai__blob__sas", default="") |
| azureai_container_endpoint: str = Field(alias="azureai__container__endpoint", default="") |
| azureai_container_name: str = Field(alias="azureai__container__name", default="") |
| azureai_container_account_name: str = Field(alias="azureai__container__account__name", default="") |
|
|
| |
| LANGFUSE_PUBLIC_KEY: str |
| LANGFUSE_SECRET_KEY: str |
| LANGFUSE_HOST: str |
|
|
| |
| emarcal_mongo_endpoint_url: str = Field(alias="emarcal--mongo--endpoint--url", default="") |
| emarcal_buma_mongo_dbname: str = Field(alias="emarcal--buma--mongo--dbname", default="") |
|
|
| |
| emarcal_jwt_secret_key: str = Field(alias="emarcal--jwt--secret-key", default="") |
| emarcal_jwt_algorithm: str = Field(alias="emarcal--jwt--algorithm", default="HS256") |
|
|
| |
| emarcal_bcrypt_salt: str = Field(alias="emarcal--bcrypt--salt", default="") |
|
|
|
|
| |
| settings = Settings() |
|
|
|
|