sehatech-demo / config.py
larawehbe's picture
Upload folder using huggingface_hub
965ac15 verified
from pydantic import validator
from pydantic_settings import BaseSettings
from functools import lru_cache
from dotenv import load_dotenv
class Settings(BaseSettings):
PROJECT_NAME: str = "SehaTech: Medical AI Assistant"
API_V1_STR: str = "/api/v1"
OPENAI_API_KEY: str
PINECONE_API_KEY: str
INDEX_NAME: str
CLOUD: str
REGION: str
PDF_DIRECTORY: str # Directory containing PDF files
CHUNK_SIZE: int
CHUNK_OVERLAP: int
DIMENSIONS: int
AWS_ACCESS_KEY: str
AWS_SECRET_KEY: str
AWS_REGION: str
AWS_BUCKET_NAME: str
PUBMED_BASE_URL: str
class Config:
env_file = ".env"
@validator("OPENAI_API_KEY")
def validate_openai_key(cls, v):
if not v.startswith("sk-"):
raise ValueError("Invalid OpenAI API key format")
return v
def __init__(self, **kwargs):
# Force reload of environment variables
load_dotenv(override=True)
super().__init__(**kwargs)
def get_settings():
return Settings()