Initial commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import os
|
||||
from typing import Optional
|
||||
from pydantic import BaseModel
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Load environment variables from .env file
|
||||
load_dotenv()
|
||||
|
||||
class Settings(BaseModel):
|
||||
"""Application settings loaded from environment variables."""
|
||||
|
||||
# Application information
|
||||
APP_NAME: str = os.getenv("APP_NAME", "Mini SpecsComply Pro")
|
||||
APP_VERSION: str = os.getenv("APP_VERSION", "0.1.0")
|
||||
DEBUG: bool = os.getenv("DEBUG", "False").lower() in ("true", "1", "t")
|
||||
|
||||
# API keys
|
||||
GROQ_API_KEY: Optional[str] = os.getenv("GROQ_API_KEY")
|
||||
COHERE_API_KEY: Optional[str] = os.getenv("COHERE_API_KEY")
|
||||
|
||||
# Vector database settings
|
||||
# Pinecone
|
||||
PINECONE_API_KEY: Optional[str] = os.getenv("PINECONE_API_KEY")
|
||||
PINECONE_INDEX_NAME: str = os.getenv("PINECONE_INDEX_NAME", "specscomply_documents")
|
||||
|
||||
# Weaviate
|
||||
WEAVIATE_URL: Optional[str] = os.getenv("WEAVIATE_URL")
|
||||
WEAVIATE_API_KEY: Optional[str] = os.getenv("WEAVIATE_API_KEY")
|
||||
|
||||
# Models
|
||||
EMBEDDING_MODEL: str = "embed-english-v3.0" # Default embedding model
|
||||
RERANKER_MODEL: str = "rerank-english-v2.0" # Default reranker model
|
||||
REASONING_MODEL: str = "llama-3.3-70b-versatile" # Default reasoning model
|
||||
PROCESSING_MODEL: str = "llama-3.3-70b-versatile" # Default quick processing model
|
||||
|
||||
# Vector database selector (pinecone or weaviate)
|
||||
VECTOR_DB: str = os.getenv("VECTOR_DB", "pinecone").lower()
|
||||
|
||||
class Config:
|
||||
env_file = ".env"
|
||||
case_sensitive = True
|
||||
|
||||
# Create global settings instance
|
||||
settings = Settings()
|
||||
Reference in New Issue
Block a user