| | import os |
| | from dotenv import load_dotenv |
| |
|
| | |
| | load_dotenv() |
| |
|
| | class Config: |
| | """Application configuration class""" |
| | |
| | |
| | OPENAI_API_KEY = os.getenv('OPENAI_API_KEY') |
| | |
| | |
| | MAX_FILE_SIZE_MB = int(os.getenv('MAX_FILE_SIZE_MB', 50)) |
| | SUPPORTED_FORMATS = os.getenv('SUPPORTED_FORMATS', 'csv,xlsx,xls').split(',') |
| | |
| | |
| | LOG_LEVEL = os.getenv('LOG_LEVEL', 'INFO') |
| | |
| | |
| | OPENAI_MODEL = "gpt-3.5-turbo" |
| | MAX_TOKENS = 1000 |
| | TEMPERATURE = 0.3 |
| | |
| | |
| | MAX_ROWS_FOR_AI_PROCESSING = 1000 |
| | SAMPLE_SIZE_FOR_ANALYSIS = 100 |
| | |
| | @classmethod |
| | def validate_config(cls): |
| | """Validate required configuration""" |
| | if not cls.OPENAI_API_KEY: |
| | import streamlit as st |
| | st.warning("⚠️ OpenAI API key not configured. AI-powered features will be disabled. Please add your API key in Streamlit Cloud secrets or .env file.") |
| | return False |
| |
|
| | return True |
| |
|
| | @classmethod |
| | def is_ai_enabled(cls): |
| | """Check if AI features are available""" |
| | return bool(cls.OPENAI_API_KEY) |
| |
|