Corin1998's picture
Update app/config.py
cfa9e33 verified
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()