Corin1998 commited on
Commit
cfa9e33
·
verified ·
1 Parent(s): 2dae6c7

Update app/config.py

Browse files
Files changed (1) hide show
  1. app/config.py +21 -12
app/config.py CHANGED
@@ -1,21 +1,30 @@
1
- from typing import List, Optional
2
- from pydantic_settings import BaseSettings
3
  from pydantic import Field
4
 
 
5
  class Settings(BaseSettings):
6
- # HF Secrets OPENAI_API_KEY を入れてください
7
- openai_api_key: Optional[str] = Field(default=None, alias="OPENAI_API_KEY")
8
 
9
- # モデルは環境変数で上書き可
10
- embed_model: str = Field(default="text-embedding-3-large", alias="EMBED_MODEL")
11
  chat_model: str = Field(default="gpt-4o-mini", alias="CHAT_MODEL")
 
 
 
 
 
 
 
 
 
 
 
12
 
13
- # CORS
14
- allow_origins: List[str] = Field(default_factory=lambda: ["*"])
 
 
15
 
16
- class Config:
17
- env_file = ".env"
18
- case_sensitive = False
19
- extra = "ignore"
20
 
21
  settings = Settings()
 
1
+ from __future__ import annotations
2
+ from pydantic_settings import BaseSettings, SettingsConfigDict
3
  from pydantic import Field
4
 
5
+
6
  class Settings(BaseSettings):
7
+ # HF Secrets / .env から読み込み
8
+ openai_api_key: str = Field(default="", alias="OPENAI_API_KEY")
9
 
10
+ # LLM/Embedding モデル
 
11
  chat_model: str = Field(default="gpt-4o-mini", alias="CHAT_MODEL")
12
+ # 正式名
13
+ embedding_model: str = Field(default="text-embedding-3-small", alias="EMBEDDING_MODEL")
14
+ # 互換(過去の変数名 EMBED_MODEL をサポート)
15
+ embed_model: str | None = Field(default=None, alias="EMBED_MODEL")
16
+
17
+ model_config = SettingsConfigDict(
18
+ env_file=".env",
19
+ env_file_encoding="utf-8",
20
+ extra="ignore",
21
+ case_sensitive=False,
22
+ )
23
 
24
+ def model_post_init(self, __context) -> None:
25
+ # 互換:EMBED_MODEL が設定されていたら embedding_model に反映
26
+ if self.embed_model:
27
+ object.__setattr__(self, "embedding_model", self.embed_model)
28
 
 
 
 
 
29
 
30
  settings = Settings()