Team Ai
Apppublic

operations-granite/HuggingFace-Granite-AI-Practice-Agent-Dev

sourceHugging Faceapache-2.0updated 3mo agoView on Hugging Face
0likes
.env.example79 linesDownload Raw Back to root
1# PostgreSQL Database (Neon)2DATABASE_URL=postgresql://user:password@host:port/database?sslmode=require3 4# Google Gemini API5GOOGLE_API_KEY=your_google_api_key_here6GEMINI_MODEL=gemini-2.5-flash-preview-09-20257 8# Gemini Thinking Configuration (optional)9# Controls how much "thinking" the model does for complex reasoning tasks10# Higher values = deeper reasoning but slower responses11# Set to -1 for dynamic thinking (model adjusts based on complexity)12# Set to 0 to disable thinking mode13GEMINI_THINKING_BUDGET=1004814 15# Google Custom Search API (for Research Agent)16GOOGLE_SEARCH_API_KEY=your_google_search_api_key17GOOGLE_CSE_ID=your_custom_search_engine_id18 19# Database Connection Pool Settings (optimized for HF Spaces)20DB_POOL_MIN_CONN=121DB_POOL_MAX_CONN=522 23# Output directory for generated reports24OUTPUT_DIR=/app/backend/agent/output25 26# Aiven PostgreSQL (primary backup target - no commit bloat)27# Create free instance at: https://aiven.io28AIVEN_DATABASE_URL=postgres://user:password@host:port/defaultdb?sslmode=require29 30# Hugging Face Datasets (secondary backup + image/audio storage)31# Get token from: https://huggingface.co/settings/tokens (needs WRITE access)32HF_TOKEN=your_hf_write_token_here33HF_DATASET_REPO=your-username/granite-rfp-db34 35# IMPORTANT: The same repo is used for BOTH purposes:36# 1. Database backups: Stored in root directory as *_prod.sql, *_test.sql, etc.37# 2. Generated images: Stored in images/ subdirectory as *.webp files38#39# Example structure:40# granite-rfp-db/41# ├── rfp_documents_prod.sql         # Database backups42# ├── rfp_messages_prod.sql43# ├── metadata.json                  # Image metadata44# └── images/                        # Generated images45#     └── 2025-12-03/46#         ├── image_sunset_1733230000.webp47#         └── ...48 49# Backup settings50# Real-time backups trigger automatically on data changes51# This interval is a safety net for periodic full backups52BACKUP_INTERVAL_SECONDS=30053 54# Backup file suffix (for environment isolation)55# Production: BACKUP_SUFFIX=_prod (uses database_backup_prod.sql)56# Test: BACKUP_SUFFIX=_test (uses database_backup_test.sql)57# Dev: BACKUP_SUFFIX=_dev (uses database_backup_dev.sql)58BACKUP_SUFFIX=_prod59# SMTP Email Configuration (Required for OTP Authentication)60SMTP_HOST=smtp.gmail.com61SMTP_PORT=58762SMTP_USER=your-email@gmail.com63SMTP_PASS=your-gmail-app-password64FROM_EMAIL=noreply@granitemena.com65FROM_NAME=Granite RFP Assistant66 67# Microsoft Graph API (Required for sending meeting analysis emails)68# Get these from Azure AD App Registration: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps69# Required permissions: Mail.Send (Application permission)70MICROSOFT_EMAIL_CLIENT_ID=your_azure_app_client_id71MICROSOFT_EMAIL_TENANT_ID=your_azure_tenant_id72MICROSOFT_EMAIL_CLIENT_SECRET=your_azure_client_secret73 74# Credential Encryption (for API keys and secrets)75# Generate a secure random key for production:76# python3 -c "import secrets; print(secrets.token_urlsafe(32))"77CREDENTIAL_ENCRYPTION_KEY=your-32-character-encryption-key-here78CREDENTIAL_ENCRYPTION_SALT=granite_rfp_agent_202579