Spaces:
Sleeping
Sleeping
| version: '3.8' | |
| services: | |
| rag-optimizer: | |
| build: | |
| context: . | |
| dockerfile: Dockerfile | |
| container_name: rag-optimizer-dashboard | |
| ports: | |
| - "8501:8501" | |
| volumes: | |
| # Mount data directories for persistence | |
| - ./data:/app/data | |
| - ./chroma_db:/app/chroma_db | |
| - ./logs:/app/logs | |
| environment: | |
| # ===================== | |
| # AZURE AI FOUNDRY (Main OpenAI) | |
| # ===================== | |
| - AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT} | |
| - AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY} | |
| - AZURE_OPENAI_DEPLOYMENT_NAME=${AZURE_OPENAI_DEPLOYMENT_NAME} | |
| # ===================== | |
| # Azure OpenAI Embeddings | |
| # ===================== | |
| - AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME=${AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME} | |
| - AZURE_OPENAI_EMBEDDING_MODEL_NAME=${AZURE_OPENAI_EMBEDDING_MODEL_NAME} | |
| - AZURE_OPENAI_EMBEDDING_ENDPOINT=${AZURE_OPENAI_EMBEDDING_ENDPOINT} | |
| - AZURE_OPENAI_EMBEDDING_API_KEY=${AZURE_OPENAI_EMBEDDING_API_KEY} | |
| # ===================== | |
| # Cohere via Azure AI Foundry | |
| # ===================== | |
| - AZURE_COHERE_ENDPOINT=${AZURE_COHERE_ENDPOINT} | |
| - AZURE_COHERE_API_KEY=${AZURE_COHERE_API_KEY} | |
| - AZURE_COHERE_DEPLOYMENT_NAME=${AZURE_COHERE_DEPLOYMENT_NAME} | |
| # ===================== | |
| # Azure Cohere Rerank (for retrieval) | |
| # ===================== | |
| - AZURE_COHERE_RERANK_MODEL_NAME=${AZURE_COHERE_RERANK_MODEL_NAME} | |
| - AZURE_COHERE_RERANK_ENDPOINT=${AZURE_COHERE_RERANK_ENDPOINT} | |
| - AZURE_COHERE_RERANK_KEY=${AZURE_COHERE_RERANK_KEY} | |
| # ===================== | |
| # DeepSeek via Azure AI Foundry | |
| # ===================== | |
| - AZURE_DEEPSEEK_ENDPOINT=${AZURE_DEEPSEEK_ENDPOINT} | |
| - AZURE_DEEPSEEK_API_KEY=${AZURE_DEEPSEEK_API_KEY} | |
| - AZURE_DEEPSEEK_DEPLOYMENT_NAME=${AZURE_DEEPSEEK_DEPLOYMENT_NAME} | |
| # ===================== | |
| # Anthropic (Direct API) | |
| # ===================== | |
| - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} | |
| # ===================== | |
| # GROQ (Sonnet model - Direct API) | |
| # ===================== | |
| - GROK_API_KEY=${GROK_API_KEY} | |
| # ===================== | |
| # Database Configuration | |
| # ===================== | |
| - DATABASE_URL=${DATABASE_URL:-sqlite:///./data/results.db} | |
| # ===================== | |
| # ChromaDB Configuration | |
| # ===================== | |
| - CHROMA_PERSIST_DIR=${CHROMA_PERSIST_DIR:-./data/vector_stores} | |
| # ===================== | |
| # Streamlit Configuration | |
| # ===================== | |
| - STREAMLIT_SERVER_PORT=8501 | |
| - STREAMLIT_SERVER_ADDRESS=0.0.0.0 | |
| - STREAMLIT_BROWSER_GATHER_USAGE_STATS=false | |
| restart: unless-stopped | |
| healthcheck: | |
| test: ["CMD", "curl", "-f", "http://localhost:8501/_stcore/health"] | |
| interval: 30s | |
| timeout: 10s | |
| retries: 3 | |
| start_period: 40s | |
| networks: | |
| - rag-network | |
| networks: | |
| rag-network: | |
| driver: bridge | |