File size: 4,227 Bytes
bc10808
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
@echo off
REM Graph RAG Chatbot Deployment Script for Windows

setlocal enabledelayedexpansion

echo.
echo πŸ€– Graph RAG Chatbot Deployment Script
echo.

REM Check GROQ_API_KEY
if not defined GROQ_API_KEY (
    if exist ".env" (
        for /f "tokens=2 delims==" %%A in ('findstr "GROQ_API_KEY" .env') do set GROQ_API_KEY=%%A
    ) else (
        echo ⚠️  GROQ_API_KEY not found!
        echo.
        echo Getting Groq API Key:
        echo 1. Visit https://console.groq.com
        echo 2. Sign up/Login
        echo 3. Create an API key
        echo 4. Copy it
        echo.
        set /p GROQ_API_KEY="Enter your GROQ_API_KEY: "
        echo GROQ_API_KEY=!GROQ_API_KEY! > .env
        echo βœ… API key saved to .env
    )
)

echo βœ… GROQ_API_KEY configured
echo.

echo Select deployment method:
echo 1) Local (Python venv)
echo 2) Docker (Single container)
echo 3) Docker Compose (Recommended)
echo 4) Hugging Face Spaces
echo.
set /p choice="Enter choice (1-4): "

if "%choice%"=="1" goto local_deploy
if "%choice%"=="2" goto docker_deploy
if "%choice%"=="3" goto compose_deploy
if "%choice%"=="4" goto hf_deploy
goto invalid_choice

:local_deploy
echo.
echo πŸ“¦ Local Deployment
echo.

where python >nul 2>nul
if errorlevel 1 (
    echo ❌ Python not found. Please install Python 3.8+
    exit /b 1
)

echo Creating virtual environment...
python -m venv venv

echo Activating virtual environment...
call venv\Scripts\activate.bat

echo Installing dependencies...
python -m pip install --upgrade pip
pip install -r requirements.txt

echo.
echo βœ… Installation complete!
echo.
echo To start the app, run:
echo   venv\Scripts\activate.bat
echo   python app.py
echo.
echo Then open: http://localhost:7860
goto end

:docker_deploy
echo.
echo 🐳 Docker Deployment
echo.

where docker >nul 2>nul
if errorlevel 1 (
    echo ❌ Docker not found. Please install Docker.
    echo Visit: https://docs.docker.com/get-docker/
    exit /b 1
)

echo Building Docker image...
docker build -t graph-rag-chatbot .

echo.
echo βœ… Image built successfully!
echo.
echo To run the container, use:
echo   docker run -p 7860:7860 ^
echo     -e GROQ_API_KEY=%GROQ_API_KEY% ^
echo     -v %%cd%%/data:/app/data ^
echo     graph-rag-chatbot
echo.
set /p start="Start container now? (y/n): "
if /i "%start%"=="y" (
    docker run -p 7860:7860 -e GROQ_API_KEY=%GROQ_API_KEY% -v %cd%/data:/app/data graph-rag-chatbot
)
goto end

:compose_deploy
echo.
echo 🐳 Docker Compose Deployment
echo.

where docker-compose >nul 2>nul
if errorlevel 1 (
    echo ❌ Docker Compose not found.
    echo Visit: https://docs.docker.com/compose/install/
    exit /b 1
)

if not exist ".env" (
    copy .env.example .env
)

echo Starting Docker Compose services...
docker-compose up -d

echo.
echo βœ… Services started!
echo.
echo Access the app at: http://localhost:7860
echo.
echo Useful commands:
echo   docker-compose logs -f        # View logs
echo   docker-compose ps             # View services
echo   docker-compose down           # Stop services
goto end

:hf_deploy
echo.
echo πŸ€— Hugging Face Spaces Deployment
echo.

where git >nul 2>nul
if errorlevel 1 (
    echo ❌ Git not found. Please install Git.
    exit /b 1
)

echo Steps to deploy to HF Spaces:
echo.
echo 1. Create a new Space:
echo    https://huggingface.co/spaces
echo    - Select Docker as SDK
echo    - Name: graph-rag-chatbot
echo.
set /p hf_username="Enter your HF username: "

git clone https://huggingface.co/spaces/%hf_username%/graph-rag-chatbot hf-space-clone
cd hf-space-clone

echo Copying project files...
copy ..\app.py .
xcopy ..\templates templates /E /I
copy ..\Dockerfile .
copy ..\requirements.txt .
copy ..\.dockerignore .

git add .
git commit -m "Initial Graph RAG deployment"
git push

echo.
echo βœ… Files pushed to HF Spaces!
echo.
echo Final step: Add your API key as a secret
echo 1. Go to: https://huggingface.co/spaces/%hf_username%/graph-rag-chatbot
echo 2. Click Settings ^> Repository secrets
echo 3. Add new secret:
echo    Name: GROQ_API_KEY
echo    Value: %GROQ_API_KEY%
echo.
echo Your app will be live in a few minutes!
goto end

:invalid_choice
echo ❌ Invalid choice
exit /b 1

:end
echo.
echo πŸŽ‰ Deployment configured!
echo.
endlocal