GOXY / .env.example
lasagnakanada
Deploy GOXY ML Service to HuggingFace Space
3d6cc8a
# =============================================================================
# GOXY ML/AI Service - Environment Variables Template
# =============================================================================
# Copy this file to .env and fill in your actual values
# NEVER commit .env file with real credentials to git!
# =============================================================================
# =============================================================================
# APPLICATION SETTINGS
# =============================================================================
APP_NAME=goxy-ml-service
APP_VERSION=0.1.0
APP_ENV=production
DEBUG=false
LOG_LEVEL=INFO
# =============================================================================
# SERVER CONFIGURATION
# =============================================================================
HOST=0.0.0.0
PORT=7860
WORKERS=2
RELOAD=false
# =============================================================================
# DATABASE CONFIGURATION
# =============================================================================
# For Hugging Face Spaces, use external PostgreSQL (Supabase, Neon, etc.)
# Example for Supabase: postgresql+asyncpg://postgres:[PASSWORD]@db.[PROJECT-REF].supabase.co:5432/postgres
# Example for Neon: postgresql+asyncpg://[USERNAME]:[PASSWORD]@[HOST]/[DATABASE]?sslmode=require
DATABASE_URL=postgresql+asyncpg://goxy_user:goxy_password@localhost:5432/goxy_ml_db
DB_POOL_SIZE=5
DB_MAX_OVERFLOW=10
DB_POOL_TIMEOUT=30
DB_POOL_RECYCLE=3600
DB_ECHO=false
# =============================================================================
# REDIS CONFIGURATION (Optional - use Upstash for free tier)
# =============================================================================
# Example for Upstash: rediss://default:[PASSWORD]@[HOST]:6379
REDIS_URL=redis://localhost:6379/0
REDIS_MAX_CONNECTIONS=5
REDIS_SOCKET_TIMEOUT=5
REDIS_SOCKET_CONNECT_TIMEOUT=5
# =============================================================================
# SECURITY SETTINGS
# =============================================================================
# IMPORTANT: Generate a strong secret key! Use: openssl rand -hex 32
SECRET_KEY=your-super-secret-key-change-this-in-production-min-32-chars
JWT_ALGORITHM=HS256
JWT_EXPIRATION=3600
JWT_REFRESH_EXPIRATION=604800
API_KEY_HEADER=X-API-Key
# =============================================================================
# CORS SETTINGS
# =============================================================================
# Add your frontend URLs here
CORS_ORIGINS=["https://yourdomain.com","http://localhost:3000"]
CORS_CREDENTIALS=true
CORS_METHODS=["*"]
CORS_HEADERS=["*"]
# =============================================================================
# ML MODEL CONFIGURATION
# =============================================================================
# LLM Provider: 'grok' for xAI API, 'hf' for local HuggingFace models
LLM_PROVIDER=hf
LLM_MODEL_NAME=gpt2
MODEL_NAME=gpt2
MODEL_PATH=./data/models/
# For Moderation
MODERATION_MODEL_NAME=unitary/toxic-bert
# Model Settings
MAX_LENGTH=100
TEMPERATURE=0.7
TOP_P=0.9
TOP_K=50
DEVICE=cpu
BATCH_SIZE=1
USE_CACHE=true
ENABLE_STREAMING=false
# =============================================================================
# xAI GROK API CONFIGURATION (if using LLM_PROVIDER=grok)
# =============================================================================
# Get your API key from: https://console.x.ai/
XAI_API_KEY=your-xai-api-key-here
XAI_API_BASE_URL=https://api.x.ai/v1
XAI_MODEL=grok-beta
XAI_MAX_TOKENS=500
XAI_TIMEOUT=30
# =============================================================================
# RATE LIMITING
# =============================================================================
RATE_LIMIT_ENABLED=true
RATE_LIMIT_PER_MINUTE=60
RATE_LIMIT_BURST=10
# =============================================================================
# MONITORING & METRICS
# =============================================================================
METRICS_ENABLED=true
METRICS_PORT=9090
HEALTH_CHECK_ENABLED=true
# =============================================================================
# FILE UPLOAD SETTINGS
# =============================================================================
MAX_UPLOAD_SIZE=10485760
ALLOWED_EXTENSIONS=[".txt",".csv",".json",".jsonl"]
UPLOAD_DIR=./data/uploads/
# =============================================================================
# DATASET SETTINGS
# =============================================================================
DATASET_DIR=./data/datasets/
DATASET_MAX_SIZE=1000000
DATASET_MIN_QUALITY_SCORE=0.7
# =============================================================================
# TRAINING SETTINGS
# =============================================================================
TRAINING_ENABLED=true
TRAINING_BATCH_SIZE=8
TRAINING_EPOCHS=3
TRAINING_LEARNING_RATE=0.00005
TRAINING_CHECKPOINT_DIR=./data/models/checkpoints/
TRAINING_LOG_DIR=./logs/training/
# =============================================================================
# CACHE SETTINGS
# =============================================================================
CACHE_ENABLED=true
CACHE_TTL=3600
CACHE_MAX_SIZE=1000
CACHE_DIR=./data/cache/
# =============================================================================
# LOGGING SETTINGS
# =============================================================================
LOG_DIR=./logs/
LOG_FILE=app.log
LOG_ROTATION=daily
LOG_RETENTION=30
LOG_FORMAT=json
# =============================================================================
# HUGGING FACE SPACES SPECIFIC
# =============================================================================
# Hugging Face uses port 7860 by default
# Set these in Spaces settings, not in .env
# SPACE_ID=your-username/your-space-name
# HF_TOKEN=your-huggingface-token (if needed for private models)