Coverage for app \ config.py: 100%
30 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-02-24 13:18 +0530
« prev ^ index » next coverage.py v7.13.4, created at 2026-02-24 13:18 +0530
1from pydantic_settings import BaseSettings
2from pydantic import ConfigDict
5class Settings(BaseSettings):
6 QDRANT_URL: str = "http://localhost:6333"
7 QDRANT_API_KEY: str | None = None
8 QDRANT_TIMEOUT: int = 30
10 QDRANT_COLLECTION: str = "medical_documents"
11 EMBEDDING_DIM: int = 1024
12 CHUNK_SIZE: int = 1000
13 CHUNK_OVERLAP: int = 100
15 EMBEDDING_MODEL_NAME: str = "BAAI/bge-m3"
16 EMBEDDING_DEVICE: str = "cpu"
17 EMBEDDING_BATCH_SIZE: int = 32
19 # NER / GLiNER
20 NER_MODEL_NAME: str = "urchade/gliner_small-v2.1"
21 NER_CONFIDENCE_THRESHOLD: float = 0.3
22 NER_DEVICE: str | None = None
24 NER_LABELS: list[str] = [
25 "drug",
26 "medical condition",
27 "biomarker",
28 "symptom",
29 ]
31 # NCBI / PubMed
32 NCBI_EMAIL: str = "yashjagdale77@gmail.com"
33 NCBI_REQUEST_DELAY: float = 0.5
34 MIN_TEXT_LENGTH: int = 500
35 QDRANT_BATCH_SIZE: int = 128
37 # ─── NEW: DB & JWT CONFIGURATION ───
38 DB_USER: str = "postgres"
39 DB_PASSWORD: str = "yash2535"
40 DB_HOST: str = "localhost"
41 DB_PORT: str = "5432"
42 DB_NAME: str = "medical_ai_user"
44 JWT_SECRET_KEY: str = "a_very_secure_random_32_plus_character_secret_key_123"
45 JWT_ACCESS_TOKEN_EXPIRES: int = 3600
47 # ✅ Pydantic v2 way
48 model_config = ConfigDict(env_file=".env", extra="ignore")
51settings = Settings()