settings.py 726 B

1234567891011121314151617181920212223242526272829303132
  1. from pydantic_settings import BaseSettings, SettingsConfigDict, YamlConfigSettingsSource
  2. from pydantic import Field, BaseModel, HttpUrl
  3. class VDBSettings(BaseModel):
  4. url: HttpUrl
  5. username: str
  6. key: str
  7. database: str
  8. collection: str
  9. class TencentCloudSettings(BaseModel):
  10. secret_id: str
  11. secret_key: str
  12. region: str
  13. bucket: str
  14. upload_prefix: str
  15. class Settings(BaseSettings):
  16. tencent_cloud: TencentCloudSettings
  17. VDB: VDBSettings
  18. model_config = SettingsConfigDict(
  19. yaml_file=('.env.yaml'),
  20. )
  21. @classmethod
  22. def settings_customise_sources(cls, settings_cls, init_settings, env_settings, dotenv_settings, file_secret_settings):
  23. return (
  24. YamlConfigSettingsSource(settings_cls),
  25. )
  26. settings = Settings()