Spaces:
Paused
Paused
Enable GPU support with T4 hardware and CUDA base image
Browse files- Dockerfile +13 -8
- README.md +1 -0
Dockerfile
CHANGED
|
@@ -1,7 +1,10 @@
|
|
| 1 |
-
FROM
|
| 2 |
|
| 3 |
-
# Install system dependencies
|
| 4 |
RUN apt-get update && apt-get install -y \
|
|
|
|
|
|
|
|
|
|
| 5 |
nodejs \
|
| 6 |
npm \
|
| 7 |
git \
|
|
@@ -26,7 +29,7 @@ COPY --chown=user requirements_embedding.txt .
|
|
| 26 |
COPY --chown=user hono-proxy ./hono-proxy
|
| 27 |
COPY --chown=user vespa-certs ./vespa-certs
|
| 28 |
|
| 29 |
-
# Install Python dependencies
|
| 30 |
RUN pip install --user --no-cache-dir -r requirements_embedding.txt
|
| 31 |
|
| 32 |
# Install Node dependencies
|
|
@@ -40,17 +43,19 @@ RUN mkdir -p $HOME/.vespa/il-infra.colpali-server.default && \
|
|
| 40 |
# Create startup script
|
| 41 |
WORKDIR $HOME/app
|
| 42 |
RUN echo '#!/bin/bash' > start.sh && \
|
| 43 |
-
echo 'echo "Starting services..."' >> start.sh && \
|
| 44 |
-
echo 'echo "Python version: $(
|
| 45 |
echo 'echo "Node version: $(node --version)"' >> start.sh && \
|
|
|
|
|
|
|
| 46 |
echo '' >> start.sh && \
|
| 47 |
-
echo '# Start embedding API' >> start.sh && \
|
| 48 |
-
echo '
|
| 49 |
echo 'EMBED_PID=$!' >> start.sh && \
|
| 50 |
echo 'echo "Started embedding API with PID: $EMBED_PID"' >> start.sh && \
|
| 51 |
echo '' >> start.sh && \
|
| 52 |
echo '# Wait for embedding API' >> start.sh && \
|
| 53 |
-
echo 'sleep
|
| 54 |
echo '' >> start.sh && \
|
| 55 |
echo '# Check if embedding API is running' >> start.sh && \
|
| 56 |
echo 'if curl -f http://localhost:8001/health; then' >> start.sh && \
|
|
|
|
| 1 |
+
FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04
|
| 2 |
|
| 3 |
+
# Install Python and system dependencies
|
| 4 |
RUN apt-get update && apt-get install -y \
|
| 5 |
+
python3.11 \
|
| 6 |
+
python3-pip \
|
| 7 |
+
python3.11-venv \
|
| 8 |
nodejs \
|
| 9 |
npm \
|
| 10 |
git \
|
|
|
|
| 29 |
COPY --chown=user hono-proxy ./hono-proxy
|
| 30 |
COPY --chown=user vespa-certs ./vespa-certs
|
| 31 |
|
| 32 |
+
# Install Python dependencies with GPU support
|
| 33 |
RUN pip install --user --no-cache-dir -r requirements_embedding.txt
|
| 34 |
|
| 35 |
# Install Node dependencies
|
|
|
|
| 43 |
# Create startup script
|
| 44 |
WORKDIR $HOME/app
|
| 45 |
RUN echo '#!/bin/bash' > start.sh && \
|
| 46 |
+
echo 'echo "Starting services with GPU support..."' >> start.sh && \
|
| 47 |
+
echo 'echo "Python version: $(python3 --version)"' >> start.sh && \
|
| 48 |
echo 'echo "Node version: $(node --version)"' >> start.sh && \
|
| 49 |
+
echo 'echo "CUDA available: $(python3 -c "import torch; print(torch.cuda.is_available())")"' >> start.sh && \
|
| 50 |
+
echo 'echo "GPU device: $(python3 -c "import torch; print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else \"No GPU\")")"' >> start.sh && \
|
| 51 |
echo '' >> start.sh && \
|
| 52 |
+
echo '# Start embedding API with GPU' >> start.sh && \
|
| 53 |
+
echo 'CUDA_VISIBLE_DEVICES=0 python3 embedding_api.py &' >> start.sh && \
|
| 54 |
echo 'EMBED_PID=$!' >> start.sh && \
|
| 55 |
echo 'echo "Started embedding API with PID: $EMBED_PID"' >> start.sh && \
|
| 56 |
echo '' >> start.sh && \
|
| 57 |
echo '# Wait for embedding API' >> start.sh && \
|
| 58 |
+
echo 'sleep 15' >> start.sh && \
|
| 59 |
echo '' >> start.sh && \
|
| 60 |
echo '# Check if embedding API is running' >> start.sh && \
|
| 61 |
echo 'if curl -f http://localhost:8001/health; then' >> start.sh && \
|
README.md
CHANGED
|
@@ -6,6 +6,7 @@ colorTo: purple
|
|
| 6 |
sdk: docker
|
| 7 |
pinned: false
|
| 8 |
license: apache-2.0
|
|
|
|
| 9 |
---
|
| 10 |
|
| 11 |
# ColPali Backend API
|
|
|
|
| 6 |
sdk: docker
|
| 7 |
pinned: false
|
| 8 |
license: apache-2.0
|
| 9 |
+
suggested_hardware: t4-small
|
| 10 |
---
|
| 11 |
|
| 12 |
# ColPali Backend API
|