의존성 추가

This commit is contained in:
2025-09-03 17:37:21 +09:00
parent e2b8375cac
commit 13227e6214
2 changed files with 244 additions and 22 deletions

View File

@@ -1,30 +1,19 @@
# Use a more complete Python runtime as a parent image to avoid missing system libraries
FROM python:3.12 FROM python:3.12
# Install system dependencies required by OpenCV
RUN apt-get update && apt-get install -y libgl1 && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -y libgl1 && rm -rf /var/lib/apt/lists/*
# Set the working directory in the container
WORKDIR /app WORKDIR /app
# Install uv
RUN pip install uv RUN pip install uv
# Copy the dependency files
COPY pyproject.toml uv.lock ./ COPY pyproject.toml uv.lock ./
# Install dependencies using uv
# Note: We use the lock file for reproducible builds
RUN uv pip sync uv.lock --no-cache --system RUN uv pip sync uv.lock --no-cache --system
# Copy the rest of the application's code
COPY . . COPY . .
# Expose the port that Streamlit runs on
EXPOSE 8502 EXPOSE 8502
# Set the healthcheck
HEALTHCHECK CMD curl --fail http://localhost:8502/_stcore/health HEALTHCHECK CMD curl --fail http://localhost:8502/_stcore/health
# Command to run the Streamlit app
CMD ["streamlit", "run", "app.py", "--server.port=8502", "--server.address=0.0.0.0"] CMD ["streamlit", "run", "app.py", "--server.port=8502", "--server.address=0.0.0.0"]

255
uv.lock generated
View File

@@ -1,23 +1,41 @@
# This file was autogenerated by uv via the following command: # This file was autogenerated by uv via the following command:
# uv pip compile pyproject.toml -o uv.lock # uv pip compile pyproject.toml -o uv.lock
aiohappyeyeballs==2.6.1
# via aiohttp
aiohttp==3.12.15
# via langchain-community
aiosignal==1.4.0
# via aiohttp
aistudio-sdk==0.3.6 aistudio-sdk==0.3.6
# via paddlex # via paddlex
altair==5.5.0 altair==5.5.0
# via streamlit # via streamlit
annotated-types==0.7.0 annotated-types==0.7.0
# via pydantic # via pydantic
anyio==4.10.0
# via
# httpx
# openai
attrs==25.3.0 attrs==25.3.0
# via # via
# aiohttp
# jsonschema # jsonschema
# referencing # referencing
bce-python-sdk==0.9.45 bce-python-sdk==0.9.45
# via aistudio-sdk # via aistudio-sdk
beautifulsoup4==4.13.5
# via paddlex
blinker==1.9.0 blinker==1.9.0
# via streamlit # via streamlit
cachetools==6.2.0 cachetools==6.2.0
# via streamlit # via
# premailer
# streamlit
certifi==2025.8.3 certifi==2025.8.3
# via requests # via
# httpcore
# httpx
# requests
chardet==5.2.0 chardet==5.2.0
# via paddlex # via paddlex
charset-normalizer==3.4.3 charset-normalizer==3.4.3
@@ -28,59 +46,182 @@ click==8.2.1
# streamlit # streamlit
colorlog==6.9.0 colorlog==6.9.0
# via paddlex # via paddlex
contourpy==1.3.3
# via matplotlib
cssselect==1.3.0
# via premailer
cssutils==2.11.1
# via premailer
cycler==0.12.1
# via matplotlib
dataclasses-json==0.6.7
# via langchain-community
distro==1.9.0
# via openai
einops==0.8.1
# via paddlex
et-xmlfile==2.0.0
# via openpyxl
filelock==3.19.1 filelock==3.19.1
# via # via
# huggingface-hub # huggingface-hub
# modelscope # modelscope
# paddlex # paddlex
fonttools==4.59.2
# via matplotlib
frozenlist==1.7.0
# via
# aiohttp
# aiosignal
fsspec==2025.9.0 fsspec==2025.9.0
# via huggingface-hub # via huggingface-hub
ftfy==6.3.1
# via paddlex
future==1.0.0 future==1.0.0
# via bce-python-sdk # via bce-python-sdk
gitdb==4.0.12 gitdb==4.0.12
# via gitpython # via gitpython
gitpython==3.1.45 gitpython==3.1.45
# via streamlit # via streamlit
greenlet==3.2.4
# via sqlalchemy
h11==0.16.0
# via httpcore
hf-xet==1.1.9 hf-xet==1.1.9
# via huggingface-hub # via huggingface-hub
httpcore==1.0.9
# via httpx
httpx==0.28.1
# via
# langsmith
# openai
# paddlepaddle
httpx-sse==0.4.1
# via langchain-community
huggingface-hub==0.34.4 huggingface-hub==0.34.4
# via paddlex # via
# paddlex
# tokenizers
idna==3.10 idna==3.10
# via requests # via
# anyio
# httpx
# requests
# yarl
imagesize==1.4.1 imagesize==1.4.1
# via paddlex # via paddlex
jinja2==3.1.6 jinja2==3.1.6
# via # via
# altair # altair
# paddlex
# pydeck # pydeck
jiter==0.10.0
# via openai
joblib==1.5.2
# via scikit-learn
jsonpatch==1.33
# via langchain-core
jsonpointer==3.0.0
# via jsonpatch
jsonschema==4.25.1 jsonschema==4.25.1
# via altair # via altair
jsonschema-specifications==2025.4.1 jsonschema-specifications==2025.4.1
# via jsonschema # via jsonschema
kiwisolver==1.4.9
# via matplotlib
langchain==0.3.27
# via
# langchain-community
# paddlex
langchain-community==0.3.29
# via paddlex
langchain-core==0.3.75
# via
# langchain
# langchain-community
# langchain-openai
# langchain-text-splitters
# paddlex
langchain-openai==0.3.32
# via paddlex
langchain-text-splitters==0.3.11
# via langchain
langsmith==0.4.23
# via
# langchain
# langchain-community
# langchain-core
lxml==6.0.1
# via
# paddlex
# premailer
markupsafe==3.0.2 markupsafe==3.0.2
# via jinja2 # via jinja2
marshmallow==3.26.1
# via dataclasses-json
matplotlib==3.10.6
# via paddleslim
modelscope==1.29.2 modelscope==1.29.2
# via paddlex # via paddlex
more-itertools==10.8.0
# via cssutils
multidict==6.6.4
# via
# aiohttp
# yarl
mypy-extensions==1.1.0
# via typing-inspect
narwhals==2.3.0 narwhals==2.3.0
# via altair # via altair
numpy==2.3.2 networkx==3.5
# via paddlepaddle
numpy==1.26.4
# via # via
# paddleocr-interface (pyproject.toml)
# contourpy
# langchain-community
# matplotlib
# opencv-contrib-python # opencv-contrib-python
# opencv-python
# opt-einsum
# paddlepaddle
# paddlex # paddlex
# pandas # pandas
# pydeck # pydeck
# scikit-learn
# scipy
# shapely # shapely
# streamlit # streamlit
openai==1.104.2
# via
# langchain-openai
# paddlex
opencv-contrib-python==4.10.0.84 opencv-contrib-python==4.10.0.84
# via paddlex # via paddlex
opencv-python==4.6.0.66
# via paddleslim
openpyxl==3.1.5
# via paddlex
opt-einsum==3.3.0
# via paddlepaddle
orjson==3.11.3
# via langsmith
packaging==25.0 packaging==25.0
# via # via
# altair # altair
# huggingface-hub # huggingface-hub
# langchain-core
# langsmith
# marshmallow
# matplotlib
# paddlex # paddlex
# streamlit # streamlit
paddleocr==3.2.0 paddleocr==3.2.0
# via paddleocr-interface (pyproject.toml) # via paddleocr-interface (pyproject.toml)
paddlepaddle==3.1.1
# via paddleocr-interface (pyproject.toml)
paddleslim==2.6.0
# via paddleocr-interface (pyproject.toml)
paddlex==3.2.1 paddlex==3.2.1
# via paddleocr # via paddleocr
pandas==2.3.2 pandas==2.3.2
@@ -89,14 +230,25 @@ pandas==2.3.2
# streamlit # streamlit
pillow==11.3.0 pillow==11.3.0
# via # via
# matplotlib
# paddlepaddle
# paddleslim
# paddlex # paddlex
# streamlit # streamlit
premailer==3.10.0
# via paddlex
prettytable==3.16.0 prettytable==3.16.0
# via # via
# aistudio-sdk # aistudio-sdk
# paddlex # paddlex
propcache==0.3.2
# via
# aiohttp
# yarl
protobuf==6.32.0 protobuf==6.32.0
# via streamlit # via
# paddlepaddle
# streamlit
psutil==7.0.0 psutil==7.0.0
# via aistudio-sdk # via aistudio-sdk
py-cpuinfo==9.0.0 py-cpuinfo==9.0.0
@@ -108,33 +260,65 @@ pyclipper==1.3.0.post6
pycryptodome==3.23.0 pycryptodome==3.23.0
# via bce-python-sdk # via bce-python-sdk
pydantic==2.11.7 pydantic==2.11.7
# via paddlex # via
# langchain
# langchain-core
# langsmith
# openai
# paddlex
# pydantic-settings
pydantic-core==2.33.2 pydantic-core==2.33.2
# via pydantic # via pydantic
pydantic-settings==2.10.1
# via langchain-community
pydeck==0.9.1 pydeck==0.9.1
# via streamlit # via streamlit
pyparsing==3.2.3
# via matplotlib
pypdfium2==4.30.0 pypdfium2==4.30.0
# via paddlex # via paddlex
python-dateutil==2.9.0.post0 python-dateutil==2.9.0.post0
# via pandas # via
# matplotlib
# pandas
python-dotenv==1.1.1
# via pydantic-settings
pytz==2025.2 pytz==2025.2
# via pandas # via pandas
pyyaml==6.0.2 pyyaml==6.0.2
# via # via
# huggingface-hub # huggingface-hub
# langchain
# langchain-community
# langchain-core
# paddleocr # paddleocr
# paddleslim
# paddlex # paddlex
pyzmq==27.0.2
# via paddleslim
referencing==0.36.2 referencing==0.36.2
# via # via
# jsonschema # jsonschema
# jsonschema-specifications # jsonschema-specifications
regex==2025.9.1
# via
# paddlex
# tiktoken
requests==2.32.5 requests==2.32.5
# via # via
# aistudio-sdk # aistudio-sdk
# huggingface-hub # huggingface-hub
# langchain
# langchain-community
# langsmith
# modelscope # modelscope
# paddlex # paddlex
# premailer
# requests-toolbelt
# streamlit # streamlit
# tiktoken
requests-toolbelt==1.0.0
# via langsmith
rpds-py==0.27.1 rpds-py==0.27.1
# via # via
# jsonschema # jsonschema
@@ -143,6 +327,12 @@ ruamel-yaml==0.18.15
# via paddlex # via paddlex
ruamel-yaml-clib==0.2.12 ruamel-yaml-clib==0.2.12
# via ruamel-yaml # via ruamel-yaml
scikit-learn==1.7.1
# via
# paddleslim
# paddlex
scipy==1.16.1
# via scikit-learn
setuptools==80.9.0 setuptools==80.9.0
# via modelscope # via modelscope
shapely==2.1.1 shapely==2.1.1
@@ -153,10 +343,33 @@ six==1.17.0
# python-dateutil # python-dateutil
smmap==5.0.2 smmap==5.0.2
# via gitdb # via gitdb
sniffio==1.3.1
# via
# anyio
# openai
soupsieve==2.8
# via beautifulsoup4
sqlalchemy==2.0.43
# via
# langchain
# langchain-community
streamlit==1.49.1 streamlit==1.49.1
# via paddleocr-interface (pyproject.toml) # via paddleocr-interface (pyproject.toml)
swig==4.3.1.post0
# via paddleslim
tenacity==9.1.2 tenacity==9.1.2
# via streamlit # via
# langchain-community
# langchain-core
# streamlit
threadpoolctl==3.6.0
# via scikit-learn
tiktoken==0.11.0
# via
# langchain-openai
# paddlex
tokenizers==0.22.0
# via paddlex
toml==0.10.2 toml==0.10.2
# via streamlit # via streamlit
tornado==6.5.2 tornado==6.5.2
@@ -166,19 +379,33 @@ tqdm==4.67.1
# aistudio-sdk # aistudio-sdk
# huggingface-hub # huggingface-hub
# modelscope # modelscope
# openai
# paddleslim
typing-extensions==4.15.0 typing-extensions==4.15.0
# via # via
# aiosignal
# altair # altair
# anyio
# beautifulsoup4
# huggingface-hub # huggingface-hub
# langchain-core
# openai
# paddleocr # paddleocr
# paddlepaddle
# paddlex # paddlex
# pydantic # pydantic
# pydantic-core # pydantic-core
# referencing # referencing
# sqlalchemy
# streamlit # streamlit
# typing-inspect
# typing-inspection # typing-inspection
typing-inspect==0.9.0
# via dataclasses-json
typing-inspection==0.4.1 typing-inspection==0.4.1
# via pydantic # via
# pydantic
# pydantic-settings
tzdata==2025.2 tzdata==2025.2
# via pandas # via pandas
ujson==5.11.0 ujson==5.11.0
@@ -190,4 +417,10 @@ urllib3==2.5.0
watchdog==6.0.0 watchdog==6.0.0
# via streamlit # via streamlit
wcwidth==0.2.13 wcwidth==0.2.13
# via prettytable # via
# ftfy
# prettytable
yarl==1.20.1
# via aiohttp
zstandard==0.24.0
# via langsmith