File size: 2,188 Bytes
cf02b2b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9d2f61f
cf02b2b
 
 
 
 
159ca63
cf02b2b
fa9c9c0
 
 
cf02b2b
 
 
 
 
9d2f61f
cf02b2b
 
 
 
 
 
afe5327
cf02b2b
 
 
 
 
 
 
 
 
 
afe5327
cf02b2b
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from dotenv import load_dotenv
import os

load_dotenv()

# API Configuration
GOOGLE_API_KEY = os.environ.get("GOOGLE_API_KEY")
GEMINI_API_KEY = os.environ.get("GOOGLE_API_KEY")  # Backward compatibility

# LangSmith Configuration (optional)
LANGSMITH_API_KEY = os.environ.get("LANGSMITH_API_KEY")
LANGCHAIN_TRACING_V2 = os.environ.get("LANGCHAIN_TRACING_V2", "false").lower() == "true"
LANGCHAIN_PROJECT = os.environ.get("LANGCHAIN_PROJECT", "voice-bot-government-docs")

# Hybrid LLM Configuration
USE_HYBRID_LLM = os.environ.get("USE_HYBRID_LLM", "true").lower() == "true"  # Default to enabled
FAST_LLM_PROVIDER = os.environ.get("FAST_LLM_PROVIDER", "groq")
COMPLEX_LLM_PROVIDER = os.environ.get("COMPLEX_LLM_PROVIDER", "gemini")

# Groq Configuration
GROQ_API_KEY = os.environ.get("GROQ_API_KEY")
GROQ_MODEL = os.environ.get("GROQ_MODEL", "llama-3.1-8b-instant")  # Updated to supported model

# Murf TTS Configuration
MURF_API_KEY = os.environ.get("MURF_API_KEY")

# Gemini Model Configuration
GEMINI_MODEL = os.environ.get("GEMINI_MODEL", "gemini-1.5-pro-latest")
GEMINI_TEMPERATURE = float(os.environ.get("GEMINI_TEMPERATURE", "0.7"))

# Voice Features Configuration
ENABLE_VOICE_FEATURES = os.environ.get("ENABLE_VOICE_FEATURES", "true").lower() == "true"  # Default to enabled
TTS_PROVIDER = os.environ.get("TTS_PROVIDER", "edge-tts")
ASR_PROVIDER = os.environ.get("ASR_PROVIDER", "whisper")
VOICE_LANGUAGE = os.environ.get("VOICE_LANGUAGE", "en-US")
DEFAULT_VOICE_SPEED = float(os.environ.get("DEFAULT_VOICE_SPEED", "1.0"))

# Embedding Model Configuration
EMBEDDING_MODEL_NAME = os.environ.get("EMBEDDING_MODEL_NAME", "nomic-ai/nomic-bert-2048")
EMBEDDING_SIZE = 768

# Text Processing Configuration
CHUNK_SIZE = int(os.environ.get("CHUNK_SIZE", "1000"))
CHUNK_OVERLAP = int(os.environ.get("CHUNK_OVERLAP", "200"))

# CORS Configuration
ALLOWED_ORIGINS = os.environ.get("ALLOWED_ORIGINS", "*").split(",") if os.environ.get("ALLOWED_ORIGINS") != "*" else ["*"]

# LanceDB Configuration
LANCEDB_PATH = os.environ.get("LANCEDB_PATH", "./lancedb_data")

# JWT Configuration
JWT_SECRET_KEY = os.environ.get("JWT_SECRET_KEY")
JWT_ALGORITHM = os.environ.get("JWT_ALGORITHM", "HS256")