nagur-shareef-shaik's picture
Add Application Code
cd6f412
import os
from dotenv import load_dotenv
from pydantic_settings import BaseSettings
from typing import List
# Load environment variables from .env file
load_dotenv()
class Settings(BaseSettings):
"""
Loads and validates application settings from environment variables.
"""
# API Keys
GROQ_API_KEY: str = os.getenv("GROQ_API_KEY", "")
GOOGLE_API_KEY: str = os.getenv("GOOGLE_API_KEY", "")
TAVILY_API_KEY: str = os.getenv("TAVILY_API_KEY", "")
# JWT Settings
JWT_SECRET_KEY: str = os.getenv("JWT_SECRET_KEY", "default_secret")
JWT_ALGORITHM: str = os.getenv("JWT_ALGORITHM", "HS256")
ACCESS_TOKEN_EXPIRE_MINUTES: int = int(os.getenv("ACCESS_TOKEN_EXPIRE_MINUTES", 30))
# Database
DATABASE_URL: str = "insucompass.db"
# Logging
LOG_LEVEL: str = os.getenv("LOG_LEVEL", "INFO")
# LLM Settings
GROQ_MODEL_NAME: str = "llama-3.3-70b-versatile"
GROQ_FAST_MODEL_NAME: str = "llama-3.1-8b-instant"
GEMINI_PRO_MODEL_NAME: str = "gemini-2.5-pro"
GEMINI_MODEL_NAME: str = "gemini-2.5-flash" #"gemini-2.5-flash" # "gemini-2.0-flash"
GEMINI_FAST_MODEL_NAME: str = "gemini-2.5-flash-lite-preview-06-17"
# CRAWLING JOBS CONFIGURATION
CRAWLING_JOBS: List[dict] = [
{
"name": "HealthCare.gov Crawl",
"start_url": "https://www.healthcare.gov/",
"method": "requests_crawl",
"domain_lock": "www.healthcare.gov",
"crawl_depth": 2,
"content_types": ["pdf", "html"],
"status": "active"
},
{
"name": "CMS.gov Regulations & Guidance Crawl",
"start_url": "https://www.cms.gov/regulations-and-guidance",
"method": "selenium_crawl",
"domain_lock": "www.cms.gov",
"crawl_depth": 2,
"content_types": ["pdf", "html"],
"status": "active"
},
{
"name": "Medicaid.gov Crawl",
"start_url": "https://www.medicaid.gov/",
"method": "requests_crawl",
"domain_lock": "www.medicaid.gov",
"crawl_depth": 2,
"content_types": ["pdf", "html"],
"status": "active"
},
{
"name": "Medicare.gov Crawl",
"start_url": "https://www.medicare.gov/",
"method": "selenium_crawl",
"domain_lock": "www.medicare.gov",
"crawl_depth": 1,
"content_types": ["html"],
"status": "active"
},
{
"name": "TRICARE Publications Crawl",
"start_url": "https://www.tricare.mil/publications",
"method": "selenium_crawl",
"domain_lock": "www.tricare.mil",
"crawl_depth": 1,
"content_types": ["pdf", "html"],
"status": "active"
},
{
"name": "VA.gov Health Benefits Crawl",
"start_url": "https://www.va.gov/health-care/",
"method": "requests_crawl",
"domain_lock": "www.va.gov",
"crawl_depth": 2,
"content_types": ["html"],
"status": "active"
},
]
class Config:
case_sensitive = True
# Instantiate settings
settings = Settings()