| @echo off |
| |
| |
| |
| |
|
|
| echo ============================================ |
| echo AgriMind - Crop Diagnosis System |
| echo One-Click Setup for Windows |
| echo ============================================ |
| echo. |
| |
| |
| echo [1/5] Checking Python... |
| where python >nul 2>&1 |
| if %errorlevel% neq 0 goto :need_python |
| python --version |
| goto :step2 |
|
|
| :need_python |
| echo Python not found! |
| where winget >nul 2>&1 |
| if %errorlevel% neq 0 goto :python_fail |
| echo Installing Python 3.12 via winget... |
| winget install Python.Python.3.12 --accept-package-agreements --accept-source-agreements |
| if %errorlevel% neq 0 goto :python_fail |
| echo. |
| echo Python installed! Please CLOSE this window and run setup.bat again. |
| pause |
| exit /b 0 |
|
|
| :python_fail |
| echo [ERROR] Please install Python 3.10+ manually: |
| echo https://www.python.org/downloads/ |
| echo IMPORTANT: Check "Add Python to PATH" during installation! |
| echo Then re-run setup.bat. |
| pause |
| exit /b 1 |
| |
| |
| :step2 |
| echo [2/5] Checking Node.js... |
| where node >nul 2>&1 |
| if %errorlevel% neq 0 goto :need_node |
| node --version |
| goto :step3 |
|
|
| :need_node |
| echo Node.js not found! |
| where winget >nul 2>&1 |
| if %errorlevel% neq 0 goto :node_skip |
| echo Installing Node.js LTS via winget... |
| winget install OpenJS.NodeJS.LTS --accept-package-agreements --accept-source-agreements |
| if %errorlevel% neq 0 goto :node_skip |
| echo Node.js installed! Will be available after restarting this script. |
| goto :step3 |
|
|
| :node_skip |
| echo [INFO] Node.js 18+ not found. Frontend will not be installed. |
| echo Download: https://nodejs.org/ |
| echo You can re-run setup.bat after installing Node.js. |
| |
| |
| :step3 |
| echo. |
| echo [3/5] Setting up Python virtual environment... |
| if not exist "venv" ( |
| python -m venv venv |
| echo Virtual environment created. |
| ) else ( |
| echo Virtual environment already exists. |
| ) |
| call venv\Scripts\activate.bat |
| |
| |
| echo [4/5] Installing Python dependencies (this may take a few minutes)... |
| python -m pip install --upgrade pip |
|
|
| echo Installing PyTorch... |
| python -m pip install torch torchvision 2>nul |
| if %errorlevel% neq 0 ( |
| echo GPU version failed, installing CPU version... |
| python -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu |
| ) |
|
|
| echo Installing backend packages... |
| python -m pip install -r backend\requirements.txt |
| |
| |
| python -c "import torch; assert torch.cuda.is_available()" 2>nul |
| if %errorlevel% equ 0 ( |
| echo GPU detected, installing quantization packages... |
| python -m pip install bitsandbytes peft 2>nul |
| if %errorlevel% neq 0 echo Warning: bitsandbytes install failed. Local 4-bit mode may not work. |
| ) |
| echo Backend dependencies installed. |
| |
| |
| echo [5/5] Installing frontend dependencies... |
| where node >nul 2>&1 |
| if %errorlevel% neq 0 goto :no_frontend |
| pushd frontend |
| call npm install 2>nul |
| popd |
| echo Frontend dependencies installed. |
| goto :post_install |
|
|
| :no_frontend |
| echo Skipped - Node.js not available. |
| |
| |
| :post_install |
| echo. |
| echo Initializing knowledge base... |
| pushd backend |
| set PYTHONPATH=. |
| python -c "from app.rag.indexer import *; print(' Ready')" 2>nul |
| if %errorlevel% neq 0 echo Skipped (auto-creates on first use). |
| popd |
|
|
| if exist "models\agrimind-v2\" ( |
| echo Local model found (GPU + API modes available). |
| ) else ( |
| echo. |
| echo [INFO] No local model detected. |
| echo Will use API mode - requires DashScope API Key. |
| echo For GPU mode, download the full package with model weights. |
| ) |
|
|
| echo. |
| echo ============================================ |
| echo Setup Complete! |
| echo ============================================ |
| echo. |
| echo Quick Start: |
| echo. |
| echo 1. Start backend: |
| echo venv\Scripts\activate |
| echo cd backend |
| echo uvicorn app.main:app --host 0.0.0.0 --port 8000 |
| echo. |
| echo 2. Start frontend (new terminal): |
| echo cd frontend |
| echo npm run dev |
| echo. |
| echo 3. Open http://localhost:5173 in your browser |
| echo. |
| echo API mode: set AGRIMIND_API_KEY=sk-xxx (or enable in web UI) |
| echo GPU mode: ensure models\agrimind-v2\ exists |
| echo. |
| pause |
|
|