abdullah-alnahas commited on
Commit
3729aab
·
verified ·
1 Parent(s): d2c5f4c

Update config.py

Browse files
Files changed (1) hide show
  1. config.py +1 -23
config.py CHANGED
@@ -1,52 +1,30 @@
1
  import logging
2
  from functools import lru_cache
3
  from typing import Union, Optional
4
- from pydantic_settings import BaseSettings, SettingsConfigDict
5
  from pydantic import SecretStr, PostgresDsn, DirectoryPath, Field, validator
6
 
7
  logger = logging.getLogger(__name__)
8
 
9
  class Settings(BaseSettings):
10
- model_config = SettingsConfigDict(env_file="/home/abdullah/Documents/hdd/projects/ansari/ansari-backend/.env", env_file_encoding="utf-8", case_sensitive=True)
11
 
12
  DATABASE_URL: PostgresDsn = Field(default="postgresql://mwk@localhost:5432/mwk")
13
  MAX_THREAD_NAME_LENGTH: int = Field(default=100)
14
 
15
- SECRET_KEY: SecretStr = Field(default="secret")
16
- ALGORITHM: str = Field(default="HS256")
17
- ENCODING: str = Field(default="utf-8")
18
- ACCESS_TOKEN_EXPIRY_HOURS: int = Field(default=2)
19
- REFRESH_TOKEN_EXPIRY_HOURS: int = Field(default=24*90)
20
-
21
- ORIGINS: Union[str, list[str]] = Field(default=["https://ansari.chat", "http://ansari.chat"], env="ORIGINS")
22
- API_SERVER_PORT: int = Field(default=8000)
23
-
24
  OPENAI_API_KEY: SecretStr
25
  PGPASSWORD: SecretStr
26
  KALEMAT_API_KEY: SecretStr
27
  VECTARA_AUTH_TOKEN: SecretStr
28
  VECTARA_CUSTOMER_ID: str
29
  VECTARA_CORPUS_ID: str
30
- DISCORD_TOKEN: Optional[SecretStr] = Field(default=None)
31
- SENDGRID_API_KEY: Optional[SecretStr] = Field(default=None)
32
- LANGFUSE_SECRET_KEY: Optional[SecretStr] = Field(default=None)
33
 
34
  template_dir: DirectoryPath = Field(default="resources/templates")
35
- diskcache_dir: DirectoryPath = Field(default="diskcache_dir")
36
 
37
  MODEL: str = Field(default="gpt-4o-2024-05-13")
38
  MAX_FUNCTION_TRIES: int = Field(default=3)
39
  MAX_FAILURES: int = Field(default=1)
40
  SYSTEM_PROMPT_FILE_NAME: str = Field(default="system_msg_fn")
41
 
42
- @validator("ORIGINS", pre=True)
43
- def parse_origins(cls, v):
44
- if isinstance(v, str):
45
- return [origin.strip() for origin in v.strip('"').split(",")]
46
- elif isinstance(v, list):
47
- return v
48
- raise ValueError(f"Invalid ORIGINS format: {v}. Expected a comma-separated string or a list.")
49
-
50
  @lru_cache()
51
  def get_settings() -> Settings:
52
  try:
 
1
  import logging
2
  from functools import lru_cache
3
  from typing import Union, Optional
4
+ from pydantic_settings import BaseSettings
5
  from pydantic import SecretStr, PostgresDsn, DirectoryPath, Field, validator
6
 
7
  logger = logging.getLogger(__name__)
8
 
9
  class Settings(BaseSettings):
 
10
 
11
  DATABASE_URL: PostgresDsn = Field(default="postgresql://mwk@localhost:5432/mwk")
12
  MAX_THREAD_NAME_LENGTH: int = Field(default=100)
13
 
 
 
 
 
 
 
 
 
 
14
  OPENAI_API_KEY: SecretStr
15
  PGPASSWORD: SecretStr
16
  KALEMAT_API_KEY: SecretStr
17
  VECTARA_AUTH_TOKEN: SecretStr
18
  VECTARA_CUSTOMER_ID: str
19
  VECTARA_CORPUS_ID: str
 
 
 
20
 
21
  template_dir: DirectoryPath = Field(default="resources/templates")
 
22
 
23
  MODEL: str = Field(default="gpt-4o-2024-05-13")
24
  MAX_FUNCTION_TRIES: int = Field(default=3)
25
  MAX_FAILURES: int = Field(default=1)
26
  SYSTEM_PROMPT_FILE_NAME: str = Field(default="system_msg_fn")
27
 
 
 
 
 
 
 
 
 
28
  @lru_cache()
29
  def get_settings() -> Settings:
30
  try: