| | """Configuration settings for the API""" |
| |
|
| | import os |
| | from pathlib import Path |
| | from dotenv import load_dotenv |
| | import logging |
| |
|
| | logger = logging.getLogger(__name__) |
| |
|
| | |
| | load_dotenv() |
| |
|
| | |
| | API_DIR = Path(__file__).parent |
| | PROJECT_ROOT = API_DIR.parent |
| |
|
| | |
| | HUGGINGFACE_API_KEY = os.getenv("HUGGINGFACE_API_KEY", "") |
| | HUGGINGFACE_STANCE_MODEL_ID = os.getenv("HUGGINGFACE_STANCE_MODEL_ID") |
| | HUGGINGFACE_LABEL_MODEL_ID = os.getenv("HUGGINGFACE_LABEL_MODEL_ID") |
| | HUGGINGFACE_GENERATE_MODEL_ID = os.getenv("HUGGINGFACE_GENERATE_MODEL_ID") |
| |
|
| | |
| | STANCE_MODEL_ID = HUGGINGFACE_STANCE_MODEL_ID |
| | LABEL_MODEL_ID = HUGGINGFACE_LABEL_MODEL_ID |
| | GENERATE_MODEL_ID = HUGGINGFACE_GENERATE_MODEL_ID |
| |
|
| | |
| | GROQ_API_KEY = os.getenv("GROQ_API_KEY", "") |
| |
|
| | |
| | GROQ_STT_MODEL = "whisper-large-v3-turbo" |
| |
|
| | |
| | GROQ_TTS_MODEL = "playai-tts" |
| | GROQ_TTS_VOICE = "Aaliyah-PlayAI" |
| | GROQ_TTS_FORMAT = "wav" |
| |
|
| | |
| | GROQ_CHAT_MODEL = "llama3-70b-8192" |
| |
|
| | |
| | API_TITLE = "NLP Debater - Voice Chatbot" |
| | API_DESCRIPTION = "NLP stance detection, KPA, and Groq STT/TTS chatbot" |
| | API_VERSION = "2.0.0" |
| |
|
| | |
| | HOST = os.getenv("HOST", "0.0.0.0") |
| | PORT = int(os.getenv("PORT", 7860)) |
| | RELOAD = os.getenv("RELOAD", "false").lower() == "true" |
| |
|
| | |
| | CORS_ORIGINS = ["*"] |
| | CORS_CREDENTIALS = True |
| | CORS_METHODS = ["*"] |
| | CORS_HEADERS = ["*"] |
| |
|
| | |
| | MAX_AUDIO_SIZE = 10 * 1024 * 1024 |
| | AUDIO_SAMPLE_RATE = 16000 |
| | AUDIO_DURATION_LIMIT = 120 |
| | ALLOWED_AUDIO_TYPES = { |
| | "audio/wav", "audio/x-wav", |
| | "audio/mpeg", "audio/mp3", |
| | "audio/mp4", "audio/m4a" |
| | } |
| |
|
| | |
| | PRELOAD_MODELS_ON_STARTUP = True |
| | LOAD_STANCE_MODEL = True |
| | LOAD_KPA_MODEL = True |
| | LOAD_STT_MODEL = False |
| | LOAD_CHATBOT_MODEL = False |
| | LOAD_TTS_MODEL = False |
| |
|
| | logger.info("="*60) |
| | logger.info("✓ Configuration loaded successfully") |
| | logger.info(f" HF Stance Model : {HUGGINGFACE_STANCE_MODEL_ID}") |
| | logger.info(f" HF Label Model : {HUGGINGFACE_LABEL_MODEL_ID}") |
| | logger.info(f" GROQ STT Model : {GROQ_STT_MODEL}") |
| | logger.info(f" GROQ TTS Model : {GROQ_TTS_MODEL}") |
| | logger.info(f" GROQ Chat Model : {GROQ_CHAT_MODEL}") |
| | logger.info("="*60) |
| |
|