Spaces:
Sleeping
Sleeping
""" | |
Configuration settings for the AI Database Assistant. | |
""" | |
import logging | |
from typing import List | |
import os | |
# API Configuration | |
# Change only the BASE_URL for different deployment environments | |
BASE_URL = os.environ.get("BASE_URL", "http://127.0.0.1:8000") # Development Environment | |
# UI Configuration | |
PAGE_TITLE = "AI Assistant" | |
PAGE_LAYOUT = "wide" | |
# Model Options - Simplified for better UX | |
AVAILABLE_MODELS: List[str] = [ | |
"gpt-4o-mini", # Fast & cost-effective | |
"gpt-3.5-turbo", # Reliable & quick | |
"gpt-4" # Most capable | |
] | |
AVAILABLE_AGENTS: List[str] = [ | |
"default", # General database assistant | |
"sql-agent" # SQL optimization expert | |
] | |
AVAILABLE_THEMES: List[str] = [ | |
"Light", # Clean & bright | |
"Dark" # Easy on eyes | |
] | |
# Logging Configuration | |
LOG_LEVEL = logging.INFO | |
LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s" | |
# UI Messages | |
CHAT_INPUT_PLACEHOLDER = "Ask me something about your database..." | |
THINKING_MESSAGE = "π§ Processing..." | |
WORKING_MESSAGE = "Working..." | |
RETRY_BUTTON_TEXT = "π Try Again" | |
DOWNLOAD_BUTTON_TEXT = "π₯ Download CSV" | |
# Default Avatars (Base64 encoded SVGs) | |
DEFAULT_USER_AVATAR = """ | |
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPCEtLSBkYXRhYmFzZSAtLT4KICA8ZWxsaXBzZSBjeD0iMTciIGN5PSI2IiByeD0iNS41IiByeT0iMi41IiBmaWxsPSIjV0ZGM0UwIiBzdHJva2U9IiNFRjZD MDAiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxwYXRoIGQ9Ik0xMS41IDZ2NWMwIDEuMyAyLjQ2IDIuNCA1LjUgMi40czUuNS0xLjEgNS41LTIuNFY2IiBmaWxsPSIjV0ZGM0UwIiBzdHJva2U9IiNFRjZD MDAiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxwYXRoIGQ9Ik0xMS41IDguNWMwIDEuMyAyLjQ2IDIuNCA1LjUgMi40czUuNS0xLjEgNS41LTIuNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjRUY2QzAwIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8IS0tIHVzZXIgYnVzdCAtLT4KICA8Y2lyY2xlIGN4PSI3IiBjeT0iOSIgcj0iMyIgZmlsbD0iI0ZGQTcyNiIvPgogIDxwYXRoIGQ9Ik0yLjUgMTdjMC0yLjUgMi42LTQuNSA0LjUtNC41UzExLjUgMTQuNSAxMS41IDE3djEuNUgyLjVWMTd6IiBmaWxsPSIjRkZDQzgwIi8+Cjwvc3ZnPg== | |
""" | |
OUTLINE_INDIGO_USER =""" | |
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGcgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNjM2NkYxIiBzdHJva2Utd2lkdGg9IjEuMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgIDxlbGxpcHNlIGN4PSIxMiIgY3k9IjUuNSIgcng9IjciIHJ5PSIyLjgiLz4KICAgIDxwYXRoIGQ9Ik01IDUuNXY3YzAgMS43IDMuMSAzIDcgM3M3LTEuMyA3LTMgMHYtNyIvPgogICAgPHBhdGggZD0iTSA1IDguOGMwIDEuNyAzLjEgMyA3IDNzNy0xLjMgNy0zIi8+CiAgICA8Y2lyY2xlIGN4PSI4LjIiIGN5PSIxMy44IiByPSIyLjIiLz4KICAgIDxwYXRoIGQ9Ik0zLjUgMTkuNWMuNy0yLjQgMy4xLTQgNC43LTRzNCAxLjYgNC43IDQiLz4KICA8L2c+Cjwvc3ZnPg== | |
""" | |
DARK_MODE_SLATE_AI=""" | |
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiByeD0iNiIgZmlsbD0iIzBGMTE3QSIvPgogIDwhLS0gc3R5bGl6ZWQgY3lsaW5kZXIgLS0+CiAgPGVsbGlwc2UgY3g9IjEyIiBjeT0iNyIgcng9IjciIHJ5PSIzIiBmaWxsPSIjMUYyOTM3IiBzdHJva2U9IiM5NEEzQjgiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxwYXRoIGQ9Ik01IDd2N2MwIDEuNyAzLjEgMyA3IDNzNy0xLjMgNy0zVjciIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzk0QTNCOCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgPHBhdGggZD0iTSA1IDEwYzAgMS43IDMuMSAzIDcgM3M3LTEuMyA3LTMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzZCNzI4MCIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgPCEtLSBib3QgZmFjZSAtLT4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjE1LjUiIHI9IjMiIGZpbGw9IiMxMTE4MjciIHN0cm9rZT0iIzk0QTNCOCIvPgogIDxjaXJjbGUgY3g9IjExIiBjeT0iMTUuNSIgcj0iMC43IiBmaWxsPSIjOTRBM0I4Ii8+CiAgPGNpcmNsZSBjeD0iMTMiIGN5PSIxNS41IiByPSIwLjciIGZpbGw9IiM5NEEzQjgiLz4KPC9zdmc+ | |
""" | |
DEFAULT_AI_AVATAR = """ | |
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImciIHgxPSIwIiB5MT0iMCIgeDI9IjI0IiB5Mj0iMjQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZSI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzRDQUY1MCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiMyRTdEMzIiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDwhLS0gZGF0YWJhc2UgLS0+CiAgPGVsbGlwc2UgY3g9IjEyIiBjeT0iNiIgcng9IjciIHJ5PSIzIiBmaWxsPSIjRThGNUU5IiBzdHJva2U9IiMyRTdEMzIiIHN0cm9rZS13aWR0aD0iMSIvPgogIDxwYXRoIGQ9Ik01IDZ2NmMwIDEuNjYgMy4xMyAzIDcgM3M3LTEuMzQgNy0zVjYiIGZpbGw9IiNFOEY1RTkiIHN0cm9rZT0iIzJFN0QzMiIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgPHBhdGggZD0iTSA1IDljMCAxLjY2IDMuMTMgMyA3IDNzNy0xLjM0IDctMyIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMkU3RDMyIiBzdHJva2Utd2lkdGg9IjEiLz4KICA8IS0tIGJvdCBoZWFkIC0tPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTUuNSIgcj0iMyIgZmlsbD0idXJsKCNnKSIgLz4KICA8cmVjdCB4PSI5IiB5PSIxNC4yIiB3aWR0aD0iNiIgaGVpZ2h0PSIyLjYiIHJ4PSIxLjMiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuOSIvPgogIDxjaXJjbGUgY3g9IjEwLjciIGN5PSIxNS41IiByPSIwLjciIGZpbGw9IiMyRTdEMzIiLz4KICA8Y2lyY2xlIGN4PSIxMy4zIiBjeT0iMTUuNSIgcj0iMC43IiBmaWxsPSIjMkU3RDMyIi8+CiAgPCEtLSBhbnRlbm5hIC0tPgogIDxsaW5lIHgxPSIxMiIgeTE9IjEyLjMiIHgyPSIxMiIgeTI9IjEwLjMiIHN0cm9rZT0iIzJFN0QzMiIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgPGNpcmNsZSBjeD0iMTIiIGN5PSI5LjciIHI9IjAuNiIgZmlsbD0iIzJFN0QzMiIvPgo8L3N2Zz4= | |
""" | |