Spaces:
Sleeping
Sleeping
| # Use a standard Python image | |
| FROM python:3.10-slim | |
| # Install system tools needed to build the engine | |
| RUN apt-get update && apt-get install -y \ | |
| build-essential \ | |
| python3-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Install all the "brains" Maira needs | |
| RUN pip install --no-cache-dir \ | |
| flask \ | |
| flask-cors \ | |
| requests \ | |
| huggingface_hub \ | |
| llama-cpp-python==0.2.90 | |
| # Set the working directory | |
| WORKDIR /app | |
| # --- NEURAL CORE DOWNLOADS --- | |
| # 1. Maira Lite | |
| RUN python3 -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='CyberCoder225/maira-model', filename='SmolLM2-360M-Instruct.Q4_K_M.gguf', local_dir='.')" | |
| # 2. Maira Prime | |
| RUN python3 -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='bartowski/Llama-3.2-1B-Instruct-GGUF', filename='Llama-3.2-1B-Instruct-Q4_K_M.gguf', local_dir='.')" | |
| # 3. Maira Logic | |
| RUN python3 -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='Qwen/Qwen2.5-1.5B-Instruct-GGUF', filename='qwen2.5-1.5b-instruct-q4_k_m.gguf', local_dir='.')" | |
| # 4. Maira Chat | |
| # 4. Maira Chat (Danube) - Corrected filename typo | |
| RUN python3 -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='h2oai/h2o-danube3-500m-chat-GGUF', filename='h2o-danube3-500m-chat-Q4_K_M.gguf', local_dir='.')" | |
| # 5. Maira Art - SWAPPED to Granite 2B (Open Model, no login needed) | |
| RUN python3 -c "from huggingface_hub import hf_hub_download; hf_hub_download(repo_id='bartowski/granite-3.0-2b-instruct-GGUF', filename='granite-3.0-2b-instruct-Q4_K_M.gguf', local_dir='.')" | |
| # Copy all files into the container | |
| COPY . . | |
| # Set environment variable to prevent Python from buffering logs (so you can see them!) | |
| ENV PYTHONUNBUFFERED=1 | |
| # Start the engine | |
| EXPOSE 7860 | |
| CMD ["python3", "app.py"] |