From 524f8f9c51ef019692b627efbe7c141f4842f51f Mon Sep 17 00:00:00 2001 From: leehk Date: Sat, 12 Apr 2025 22:23:31 +0800 Subject: [PATCH] update --- app/backend/Dockerfile.prod | 42 ++++++++-------- app/backend/Pipfile | 2 + app/backend/Pipfile.lock | 97 +++++++++++++++++++++++++++++++++++-- 3 files changed, 116 insertions(+), 25 deletions(-) diff --git a/app/backend/Dockerfile.prod b/app/backend/Dockerfile.prod index 8f70f74..39b27d1 100644 --- a/app/backend/Dockerfile.prod +++ b/app/backend/Dockerfile.prod @@ -2,31 +2,31 @@ # BUILDER # ########### -# pull official base image -FROM python:3.11-slim as builder +# # pull official base image +# FROM python:3.11-slim as builder -# set working directory -WORKDIR /usr/src/app +# # set working directory +# WORKDIR /usr/src/app -# set environment variables -ENV PYTHONDONTWRITEBYTECODE=1 -ENV PYTHONUNBUFFERED=1 +# # set environment variables +# ENV PYTHONDONTWRITEBYTECODE=1 +# ENV PYTHONUNBUFFERED=1 -# install system dependencies -RUN apt-get update \ - && apt-get -y install build-essential netcat-traditional gcc \ - && apt-get clean +# # install system dependencies +# RUN apt-get update \ +# && apt-get -y install build-essential netcat-traditional gcc \ +# && apt-get clean -# install python dependencies -RUN pip install --upgrade pip setuptools wheel -i https://pypi.tuna.tsinghua.edu.cn/simple -RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pipenv -COPY ./Pipfile . -RUN pipenv install --deploy --dev +# # install python dependencies +# RUN pip install --upgrade pip setuptools wheel -i https://pypi.tuna.tsinghua.edu.cn/simple +# RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pipenv +# COPY ./Pipfile . +# RUN pipenv install --deploy --dev -# add app -COPY . /usr/src/app -RUN pipenv run pip install black==23.12.1 flake8==7.0.0 isort==5.13.2 +# # add app +# COPY . /usr/src/app +# RUN pipenv run pip install black==23.12.1 flake8==7.0.0 isort==5.13.2 # RUN pipenv run flake8 . # RUN pipenv run black --exclude=migrations . --check # RUN pipenv run isort . --check-only @@ -63,9 +63,10 @@ RUN apt-get update \ && apt-get clean # install python dependencies -COPY --from=builder /usr/src/app/Pipfile . +# COPY --from=builder /usr/src/app/Pipfile . RUN pip install --upgrade pip setuptools wheel -i https://pypi.tuna.tsinghua.edu.cn/simple RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pipenv +COPY ./Pipfile . RUN pipenv install --deploy --dev RUN pipenv run pip install "uvicorn[standard]==0.26.0" @@ -78,6 +79,5 @@ RUN chown -R app:app $APP_HOME # change to the app user USER app - # run gunicorn CMD pipenv run gunicorn --bind 0.0.0.0:$PORT backend.main:app -k uvicorn.workers.UvicornWorker \ No newline at end of file diff --git a/app/backend/Pipfile b/app/backend/Pipfile index 36dbdf4..7e292f1 100644 --- a/app/backend/Pipfile +++ b/app/backend/Pipfile @@ -11,8 +11,10 @@ pydantic-settings = "==2.1.0" gunicorn = "==21.0.1" python-decouple = "==3.8" pyyaml = "==6.0.1" +docker = "*" chromadb = "*" sentence-transformers = "*" +langchain = "*" langchain-deepseek = "*" [dev-packages] diff --git a/app/backend/Pipfile.lock b/app/backend/Pipfile.lock index 957dbda..83958d5 100644 --- a/app/backend/Pipfile.lock +++ b/app/backend/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "79f553af1a54052baad4da2fa41f2a8c36826a0272c0d26e5e6805f49059eee9" + "sha256": "a6778423552ff7c5442034df8bdbfa526ab8ccc841ccb5bb37c1afd3abb3f3be" }, "pipfile-spec": 6, "requires": { @@ -314,6 +314,15 @@ "markers": "python_version >= '3.6'", "version": "==1.9.0" }, + "docker": { + "hashes": [ + "sha256:ad8c70e6e3f8926cb8a92619b832b4ea5299e2831c14284663184e200546fa6c", + "sha256:c96b93b7f0a746f9e77d325bcfb87422a3d8bd4f03136ae8a85b37f1898d5fc0" + ], + "index": "pypi", + "markers": "python_version >= '3.8'", + "version": "==7.1.0" + }, "durationpy": { "hashes": [ "sha256:e65359a7af5cedad07fb77a2dd3f390f8eb0b74cb845589fa6c057086834dd38", @@ -686,6 +695,15 @@ "markers": "python_version >= '3.6'", "version": "==32.0.1" }, + "langchain": { + "hashes": [ + "sha256:084f05ee7e80b7c3f378ebadd7309f2a37868ce2906fa0ae64365a67843ade3d", + "sha256:d95004afe8abebb52d51d6026270248da3f4b53d93e9bf699f76005e0c83ad34" + ], + "index": "pypi", + "markers": "python_version >= '3.9' and python_version < '4.0'", + "version": "==0.3.23" + }, "langchain-core": { "hashes": [ "sha256:4bd71e8acd45362aa428953f2a91d8162318014544a2216e4b769463caf68e13", @@ -711,6 +729,14 @@ "markers": "python_version >= '3.9' and python_version < '4.0'", "version": "==0.3.12" }, + "langchain-text-splitters": { + "hashes": [ + "sha256:116d4b9f2a22dda357d0b79e30acf005c5518177971c66a9f1ab0edfdb0f912e", + "sha256:e75cc0f4ae58dcf07d9f18776400cf8ade27fadd4ff6d264df6278bb302f6f02" + ], + "markers": "python_version >= '3.9' and python_version < '4.0'", + "version": "==0.3.8" + }, "langsmith": { "hashes": [ "sha256:4588aad24623320cdf355f7594e583874c27e70460e6e6446a416ebb702b8cf7", @@ -1006,11 +1032,11 @@ }, "openai": { "hashes": [ - "sha256:34f5496ba5c8cb06c592831d69e847e2d164526a2fb92afdc3b5cf2891c328c3", - "sha256:f51de971448905cc90ed5175a5b19e92fd94e31f68cde4025762f9f5257150db" + "sha256:b58ea39ba589de07db85c9905557ac12d2fc77600dcd2b92a08b99c9a3dce9e0", + "sha256:f52d1f673fb4ce6069a40d544a80fcb062eba1b3f489004fac4f9923a074c425" ], "markers": "python_version >= '3.8'", - "version": "==1.72.0" + "version": "==1.73.0" }, "opentelemetry-api": { "hashes": [ @@ -1935,6 +1961,69 @@ "markers": "python_version >= '3.7'", "version": "==1.3.1" }, + "sqlalchemy": { + "hashes": [ + "sha256:00a494ea6f42a44c326477b5bee4e0fc75f6a80c01570a32b57e89cf0fbef85a", + "sha256:0bb933a650323e476a2e4fbef8997a10d0003d4da996aad3fd7873e962fdde4d", + "sha256:110179728e442dae85dd39591beb74072ae4ad55a44eda2acc6ec98ead80d5f2", + "sha256:15d08d5ef1b779af6a0909b97be6c1fd4298057504eb6461be88bd1696cb438e", + "sha256:16d325ea898f74b26ffcd1cf8c593b0beed8714f0317df2bed0d8d1de05a8f26", + "sha256:1abb387710283fc5983d8a1209d9696a4eae9db8d7ac94b402981fe2fe2e39ad", + "sha256:1ffdf9c91428e59744f8e6f98190516f8e1d05eec90e936eb08b257332c5e870", + "sha256:2be94d75ee06548d2fc591a3513422b873490efb124048f50556369a834853b0", + "sha256:2cbafc8d39ff1abdfdda96435f38fab141892dc759a2165947d1a8fffa7ef596", + "sha256:2ee5f9999a5b0e9689bed96e60ee53c3384f1a05c2dd8068cc2e8361b0df5b7a", + "sha256:32587e2e1e359276957e6fe5dad089758bc042a971a8a09ae8ecf7a8fe23d07a", + "sha256:35904d63412db21088739510216e9349e335f142ce4a04b69e2528020ee19ed4", + "sha256:37a5c21ab099a83d669ebb251fddf8f5cee4d75ea40a5a1653d9c43d60e20867", + "sha256:37f7a0f506cf78c80450ed1e816978643d3969f99c4ac6b01104a6fe95c5490a", + "sha256:46628ebcec4f23a1584fb52f2abe12ddb00f3bb3b7b337618b80fc1b51177aff", + "sha256:4a4c5a2905a9ccdc67a8963e24abd2f7afcd4348829412483695c59e0af9a705", + "sha256:4aeb939bcac234b88e2d25d5381655e8353fe06b4e50b1c55ecffe56951d18c2", + "sha256:50f5885bbed261fc97e2e66c5156244f9704083a674b8d17f24c72217d29baf5", + "sha256:519624685a51525ddaa7d8ba8265a1540442a2ec71476f0e75241eb8263d6f51", + "sha256:5434223b795be5c5ef8244e5ac98056e290d3a99bdcc539b916e282b160dda00", + "sha256:55028d7a3ebdf7ace492fab9895cbc5270153f75442a0472d8516e03159ab364", + "sha256:5654d1ac34e922b6c5711631f2da497d3a7bffd6f9f87ac23b35feea56098011", + "sha256:574aea2c54d8f1dd1699449f332c7d9b71c339e04ae50163a3eb5ce4c4325ee4", + "sha256:5cfa124eda500ba4b0d3afc3e91ea27ed4754e727c7f025f293a22f512bcd4c9", + "sha256:5ea9181284754d37db15156eb7be09c86e16e50fbe77610e9e7bee09291771a1", + "sha256:641ee2e0834812d657862f3a7de95e0048bdcb6c55496f39c6fa3d435f6ac6ad", + "sha256:650490653b110905c10adac69408380688cefc1f536a137d0d69aca1069dc1d1", + "sha256:6959738971b4745eea16f818a2cd086fb35081383b078272c35ece2b07012716", + "sha256:6cfedff6878b0e0d1d0a50666a817ecd85051d12d56b43d9d425455e608b5ba0", + "sha256:7e0505719939e52a7b0c65d20e84a6044eb3712bb6f239c6b1db77ba8e173a37", + "sha256:8b6b28d303b9d57c17a5164eb1fd2d5119bb6ff4413d5894e74873280483eeb5", + "sha256:8bb131ffd2165fae48162c7bbd0d97c84ab961deea9b8bab16366543deeab625", + "sha256:915866fd50dd868fdcc18d61d8258db1bf9ed7fbd6dfec960ba43365952f3b01", + "sha256:9408fd453d5f8990405cc9def9af46bfbe3183e6110401b407c2d073c3388f47", + "sha256:957f8d85d5e834397ef78a6109550aeb0d27a53b5032f7a57f2451e1adc37e98", + "sha256:9c7a80ed86d6aaacb8160a1caef6680d4ddd03c944d985aecee940d168c411d1", + "sha256:9d3b31d0a1c44b74d3ae27a3de422dfccd2b8f0b75e51ecb2faa2bf65ab1ba0d", + "sha256:a669cbe5be3c63f75bcbee0b266779706f1a54bcb1000f302685b87d1b8c1500", + "sha256:a8aae085ea549a1eddbc9298b113cffb75e514eadbb542133dd2b99b5fb3b6af", + "sha256:ae9597cab738e7cc823f04a704fb754a9249f0b6695a6aeb63b74055cd417a96", + "sha256:afe63b208153f3a7a2d1a5b9df452b0673082588933e54e7c8aac457cf35e758", + "sha256:b5a5bbe29c10c5bfd63893747a1bf6f8049df607638c786252cb9243b86b6706", + "sha256:baf7cee56bd552385c1ee39af360772fbfc2f43be005c78d1140204ad6148438", + "sha256:bb19e30fdae77d357ce92192a3504579abe48a66877f476880238a962e5b96db", + "sha256:bece9527f5a98466d67fb5d34dc560c4da964240d8b09024bb21c1246545e04e", + "sha256:c0cae71e20e3c02c52f6b9e9722bca70e4a90a466d59477822739dc31ac18b4b", + "sha256:c268b5100cfeaa222c40f55e169d484efa1384b44bf9ca415eae6d556f02cb08", + "sha256:c7b927155112ac858357ccf9d255dd8c044fd9ad2dc6ce4c4149527c901fa4c3", + "sha256:c884de19528e0fcd9dc34ee94c810581dd6e74aef75437ff17e696c2bfefae3e", + "sha256:cd2f75598ae70bcfca9117d9e51a3b06fe29edd972fdd7fd57cc97b4dbf3b08a", + "sha256:cf0e99cdb600eabcd1d65cdba0d3c91418fee21c4aa1d28db47d095b1064a7d8", + "sha256:d827099289c64589418ebbcaead0145cd19f4e3e8a93919a0100247af245fa00", + "sha256:e8040680eaacdce4d635f12c55c714f3d4c7f57da2bc47a01229d115bd319191", + "sha256:f0fda83e113bb0fb27dc003685f32a5dcb99c9c4f41f4fa0838ac35265c23b5c", + "sha256:f1ea21bef99c703f44444ad29c2c1b6bd55d202750b6de8e06a955380f4725d7", + "sha256:f6bacab7514de6146a1976bc56e1545bee247242fab030b89e5f70336fc0003e", + "sha256:fe147fcd85aaed53ce90645c91ed5fca0cc88a797314c70dfd9d35925bd5d106" + ], + "markers": "python_version >= '3.7'", + "version": "==2.0.40" + }, "starlette": { "hashes": [ "sha256:2cbcba2a75806f8a41c722141486f37c28e30a0921c5f6fe4346cb0dcee1302f",