graphrag-accelerator/docker/Dockerfile-backend

32 lines
1.1 KiB
Plaintext
Raw Normal View History

2024-06-26 15:45:06 -04:00
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
2024-12-30 01:59:08 -05:00
# For more information about the base image visit:
# https://mcr.microsoft.com/en-us/artifact/mar/devcontainers/python/about
FROM mcr.microsoft.com/devcontainers/python:3.10-bookworm
2024-06-26 15:45:06 -04:00
# default graphrag version will be 0.0.0 unless overridden by --build-arg
ARG GRAPHRAG_VERSION=0.0.0
ENV GRAPHRAG_VERSION=v${GRAPHRAG_VERSION}
ENV PIP_ROOT_USER_ACTION=ignore
ENV PIP_DISABLE_PIP_VERSION_CHECK=1
ENV SETUPTOOLS_USE_DISTUTILS=stdlib
ENV PYTHONPATH=/backend
ENV TIKTOKEN_CACHE_DIR=/opt/tiktoken_cache/
2024-06-26 15:45:06 -04:00
COPY backend /backend
RUN cd backend \
&& pip install poetry \
2024-06-26 15:45:06 -04:00
&& poetry config virtualenvs.create false \
&& poetry install
2024-06-26 15:45:06 -04:00
# download all nltk data that graphrag requires
2024-12-14 00:59:41 -05:00
RUN python -c "import nltk;nltk.download(['punkt','averaged_perceptron_tagger','maxent_ne_chunker','words','wordnet'])"
2024-06-26 15:45:06 -04:00
# download tiktoken model encodings
RUN python -c "import tiktoken; tiktoken.encoding_for_model('gpt-3.5-turbo'); tiktoken.encoding_for_model('gpt-4'); tiktoken.encoding_for_model('gpt-4o');"
2024-06-26 15:45:06 -04:00
WORKDIR /backend
EXPOSE 80
CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "80"]