Spaces:
Sleeping
Sleeping
File size: 2,720 Bytes
6869b3c ec8c511 c1b1f3a 6869b3c c1b1f3a 6869b3c c1b1f3a f335ba1 039f7ec c1b1f3a 3862677 039f7ec c27d1a4 ec8c511 6869b3c | 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 | FROM node:20-alpine AS frontend-builder
WORKDIR /frontend
COPY frontend/package*.json ./
RUN npm ci
COPY frontend ./
RUN npm run build
FROM python:3.11-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1
WORKDIR /app
COPY requirements.txt ./
COPY doc_intelligence/requirements.txt ./doc_intelligence/requirements.txt
RUN pip install --upgrade pip && pip install -r requirements.txt
COPY app.py README.md .env.example ./
COPY --from=frontend-builder /frontend/dist ./frontend/dist
COPY doc_intelligence/src ./doc_intelligence/src
COPY doc_intelligence/configs ./doc_intelligence/configs
COPY doc_intelligence/reports/classification_artifacts ./doc_intelligence/reports/classification_artifacts
# HF stores model artifacts in Git LFS. Resolve the real pickle during the
# image build so the runtime never attempts to unpickle an LFS pointer file.
RUN python -c "from urllib.request import urlretrieve; urlretrieve('https://huggingface.co/spaces/vettri06/Document_intelligence/resolve/main/doc_intelligence/reports/classification_artifacts/logistic_regression.pkl?download=true', '/app/doc_intelligence/reports/classification_artifacts/logistic_regression.pkl')"
COPY doc_intelligence/reports/best_model_card.md ./doc_intelligence/reports/best_model_card.md
COPY doc_intelligence/data/raw/invoice/ffcy0002.png ./doc_intelligence/data/raw/invoice/ffcy0002.png
COPY doc_intelligence/data/raw/invoice/fflb0108.png ./doc_intelligence/data/raw/invoice/fflb0108.png
COPY doc_intelligence/data/raw/receipt/cord_test-000_0.png ./doc_intelligence/data/raw/receipt/cord_test-000_0.png
COPY doc_intelligence/data/raw/receipt/cord_test-000_1.png ./doc_intelligence/data/raw/receipt/cord_test-000_1.png
COPY doc_intelligence/data/raw/application_form/funsd_0000971160.png ./doc_intelligence/data/raw/application_form/funsd_0000971160.png
COPY doc_intelligence/data/raw/application_form/funsd_0000989556.png ./doc_intelligence/data/raw/application_form/funsd_0000989556.png
# Resolve the bundled sample images from LFS as real image bytes as well.
RUN python -c "from urllib.request import urlretrieve; files=['doc_intelligence/data/raw/invoice/ffcy0002.png','doc_intelligence/data/raw/invoice/fflb0108.png','doc_intelligence/data/raw/receipt/cord_test-000_0.png','doc_intelligence/data/raw/receipt/cord_test-000_1.png','doc_intelligence/data/raw/application_form/funsd_0000971160.png','doc_intelligence/data/raw/application_form/funsd_0000989556.png']; base='https://huggingface.co/spaces/vettri06/Document_intelligence/resolve/main/'; [urlretrieve(base + path + '?download=true', '/app/' + path) for path in files]"
EXPOSE 7860
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
|