diff --git a/application/core/settings.py b/application/core/settings.py index 25a3295d..da6de245 100644 --- a/application/core/settings.py +++ b/application/core/settings.py @@ -1,7 +1,8 @@ from pathlib import Path +from typing import Optional import os -from pydantic import BaseSettings +from pydantic_settings import BaseSettings current_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) @@ -18,25 +19,25 @@ class Settings(BaseSettings): API_URL: str = "http://localhost:7091" # backend url for celery worker - API_KEY: str = None # LLM api key - EMBEDDINGS_KEY: str = None # api key for embeddings (if using openai, just copy API_KEY) - OPENAI_API_BASE: str = None # azure openai api base url - OPENAI_API_VERSION: str = None # azure openai api version - AZURE_DEPLOYMENT_NAME: str = None # azure deployment name for answering - AZURE_EMBEDDINGS_DEPLOYMENT_NAME: str = None # azure deployment name for embeddings + API_KEY: Optional[str] = None # LLM api key + EMBEDDINGS_KEY: Optional[str] = None # api key for embeddings (if using openai, just copy API_KEY) + OPENAI_API_BASE: Optional[str] = None # azure openai api base url + OPENAI_API_VERSION: Optional[str] = None # azure openai api version + AZURE_DEPLOYMENT_NAME: Optional[str] = None # azure deployment name for answering + AZURE_EMBEDDINGS_DEPLOYMENT_NAME: Optional[str] = None # azure deployment name for embeddings # elasticsearch - ELASTIC_CLOUD_ID: str = None # cloud id for elasticsearch - ELASTIC_USERNAME: str = None # username for elasticsearch - ELASTIC_PASSWORD: str = None # password for elasticsearch - ELASTIC_URL: str = None # url for elasticsearch - ELASTIC_INDEX: str = "docsgpt" # index name for elasticsearch + ELASTIC_CLOUD_ID: Optional[str] = None # cloud id for elasticsearch + ELASTIC_USERNAME: Optional[str] = None # username for elasticsearch + ELASTIC_PASSWORD: Optional[str] = None # password for elasticsearch + ELASTIC_URL: Optional[str] = None # url for elasticsearch + ELASTIC_INDEX: Optional[str] = "docsgpt" # index name for elasticsearch # SageMaker config - SAGEMAKER_ENDPOINT: str = None # SageMaker endpoint name - SAGEMAKER_REGION: str = None # SageMaker region name - SAGEMAKER_ACCESS_KEY: str = None # SageMaker access key - SAGEMAKER_SECRET_KEY: str = None # SageMaker secret key + SAGEMAKER_ENDPOINT: Optional[str] = None # SageMaker endpoint name + SAGEMAKER_REGION: Optional[str] = None # SageMaker region name + SAGEMAKER_ACCESS_KEY: Optional[str] = None # SageMaker access key + SAGEMAKER_SECRET_KEY: Optional[str] = None # SageMaker secret key path = Path(__file__).parent.parent.absolute() diff --git a/application/requirements.txt b/application/requirements.txt index c0a16bfa..ede39bcf 100644 --- a/application/requirements.txt +++ b/application/requirements.txt @@ -96,6 +96,7 @@ pycryptodome==3.19.0 pycryptodomex==3.19.0 pydantic==2.5.3 pydantic_core==2.14.6 +pydantic_settings-2.1.0 PyJWT==2.8.0 pymongo==4.6.1 pyowm==3.3.0