from pydantic_settings import BaseSettings, SettingsConfigDict, YamlConfigSettingsSource from pydantic import Field, BaseModel, HttpUrl class VDBSettings(BaseModel): url: HttpUrl username: str key: str database: str collection: str class TencentCloudSettings(BaseModel): secret_id: str secret_key: str region: str bucket: str upload_prefix: str class Settings(BaseSettings): tencent_cloud: TencentCloudSettings VDB: VDBSettings model_config = SettingsConfigDict( yaml_file=('.env.yaml'), ) @classmethod def settings_customise_sources(cls, settings_cls, init_settings, env_settings, dotenv_settings, file_secret_settings): return ( YamlConfigSettingsSource(settings_cls), ) settings = Settings()