38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
import os
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
|
|
class Settings:
|
|
# API Keys
|
|
ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY", "")
|
|
PERPLEXITY_API_KEY = os.getenv("PERPLEXITY_API_KEY", "")
|
|
|
|
# AI Provider Selection
|
|
AI_PROVIDER = os.getenv("AI_PROVIDER", "perplexity") # claude or perplexity
|
|
|
|
# Server Settings
|
|
MCP_SERVER_HOST = os.getenv("MCP_SERVER_HOST", "0.0.0.0")
|
|
MCP_SERVER_PORT = int(os.getenv("MCP_SERVER_PORT", "8001"))
|
|
|
|
# Database
|
|
DATABASE_URL = os.getenv("DATABASE_URL", "")
|
|
REDIS_URL = os.getenv("REDIS_URL", "")
|
|
|
|
# Logging
|
|
LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO")
|
|
|
|
# Claude Settings
|
|
CLAUDE_MODEL = os.getenv("CLAUDE_MODEL", "claude-3-5-sonnet-20241022")
|
|
|
|
# Perplexity Settings
|
|
PERPLEXITY_MODEL = os.getenv("PERPLEXITY_MODEL", "llama-3.1-sonar-large-128k-online")
|
|
|
|
# Common AI Settings
|
|
MAX_TOKENS = int(os.getenv("PERPLEXITY_MAX_TOKENS" if AI_PROVIDER == "perplexity" else "CLAUDE_MAX_TOKENS", "4096"))
|
|
TEMPERATURE = float(os.getenv("PERPLEXITY_TEMPERATURE" if AI_PROVIDER == "perplexity" else "CLAUDE_TEMPERATURE", "0.7"))
|
|
|
|
|
|
settings = Settings()
|