Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from pydantic_settings import BaseSettings, SettingsConfigDict | |
| from pydantic import Field | |
| class Settings(BaseSettings): | |
| # HF Secrets / .env から読み込み | |
| openai_api_key: str = Field(default="", alias="OPENAI_API_KEY") | |
| # LLM/Embedding モデル | |
| chat_model: str = Field(default="gpt-4o-mini", alias="CHAT_MODEL") | |
| # 正式名 | |
| embedding_model: str = Field(default="text-embedding-3-small", alias="EMBEDDING_MODEL") | |
| # 互換(過去の変数名 EMBED_MODEL をサポート) | |
| embed_model: str | None = Field(default=None, alias="EMBED_MODEL") | |
| model_config = SettingsConfigDict( | |
| env_file=".env", | |
| env_file_encoding="utf-8", | |
| extra="ignore", | |
| case_sensitive=False, | |
| ) | |
| def model_post_init(self, __context) -> None: | |
| # 互換:EMBED_MODEL が設定されていたら embedding_model に反映 | |
| if self.embed_model: | |
| object.__setattr__(self, "embedding_model", self.embed_model) | |
| settings = Settings() | |