From 571aaaff221397459ee2109e1a1e8541adb17920 Mon Sep 17 00:00:00 2001 From: Zhedong Cen Date: Mon, 27 May 2024 19:34:49 +0800 Subject: [PATCH] Add Dockerfile and requirements.txt for arm (#936) ### What problem does this PR solve? #253 ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- Dockerfile.arm | 32 ++++++++++ requirements_arm.txt | 137 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 169 insertions(+) create mode 100644 Dockerfile.arm create mode 100644 requirements_arm.txt diff --git a/Dockerfile.arm b/Dockerfile.arm new file mode 100644 index 0000000000..a157c030c3 --- /dev/null +++ b/Dockerfile.arm @@ -0,0 +1,32 @@ +FROM python:3.11 +USER root + +WORKDIR /ragflow + +COPY requirements_arm.txt /ragflow/requirements.txt +RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ --default-timeout=1000 -r requirements.txt &&\ +python -c "import nltk;nltk.download('punkt');nltk.download('wordnet')" + +RUN apt-get update && \ + apt-get install -y curl gnupg && \ + rm -rf /var/lib/apt/lists/* + +RUN curl -sL https://deb.nodesource.com/setup_20.x | bash - && \ + apt-get install -y nodejs nginx ffmpeg libsm6 libxext6 libgl1 + +ADD ./web ./web +RUN cd ./web && npm i --force && npm run build + +ADD ./api ./api +ADD ./conf ./conf +ADD ./deepdoc ./deepdoc +ADD ./rag ./rag + +ENV PYTHONPATH=/ragflow/ +ENV HF_ENDPOINT=https://hf-mirror.com + +ADD docker/entrypoint.sh ./entrypoint.sh +ADD docker/.env ./ +RUN chmod +x ./entrypoint.sh + +ENTRYPOINT ["./entrypoint.sh"] \ No newline at end of file diff --git a/requirements_arm.txt b/requirements_arm.txt new file mode 100644 index 0000000000..45260fbc57 --- /dev/null +++ b/requirements_arm.txt @@ -0,0 +1,137 @@ +accelerate==0.27.2 +aiohttp==3.9.3 +aiosignal==1.3.1 +annotated-types==0.6.0 +anyio==4.3.0 +argon2-cffi==23.1.0 +argon2-cffi-bindings==21.2.0 +#Aspose.Slides==24.2.0 +attrs==23.2.0 +blinker==1.7.0 +cachelib==0.12.0 +cachetools==5.3.3 +certifi==2024.2.2 +cffi==1.16.0 +charset-normalizer==3.3.2 +click==8.1.7 +coloredlogs==15.0.1 +cryptography==42.0.5 +dashscope==1.14.1 +datasets==2.17.1 +datrie==0.8.2 +demjson3==3.0.6 +dill==0.3.8 +distro==1.9.0 +elastic-transport==8.12.0 +elasticsearch==8.12.1 +elasticsearch-dsl==8.12.0 +et-xmlfile==1.1.0 +filelock==3.13.1 +fastembed==0.2.6 +FlagEmbedding==1.2.5 +Flask==3.0.2 +Flask-Cors==4.0.0 +Flask-Login==0.6.3 +Flask-Session==0.6.0 +flatbuffers==23.5.26 +frozenlist==1.4.1 +fsspec==2023.10.0 +h11==0.14.0 +hanziconv==0.3.2 +httpcore==1.0.4 +httpx==0.27.0 +huggingface-hub==0.20.3 +humanfriendly==10.0 +idna==3.6 +install==1.3.5 +itsdangerous==2.1.2 +Jinja2==3.1.3 +joblib==1.3.2 +lxml==5.1.0 +MarkupSafe==2.1.5 +minio==7.2.4 +mpmath==1.3.0 +multidict==6.0.5 +multiprocess==0.70.16 +networkx==3.2.1 +nltk==3.8.1 +numpy==1.26.4 +# nvidia-cublas-cu12==12.1.3.1 +# nvidia-cuda-cupti-cu12==12.1.105 +# nvidia-cuda-nvrtc-cu12==12.1.105 +# nvidia-cuda-runtime-cu12==12.1.105 +# nvidia-cudnn-cu12==8.9.2.26 +# nvidia-cufft-cu12==11.0.2.54 +# nvidia-curand-cu12==10.3.2.106 +# nvidia-cusolver-cu12==11.4.5.107 +# nvidia-cusparse-cu12==12.1.0.106 +# nvidia-nccl-cu12==2.19.3 +# nvidia-nvjitlink-cu12==12.3.101 +# nvidia-nvtx-cu12==12.1.105 +ollama==0.1.9 +# onnxruntime-gpu==1.17.1 +openai==1.12.0 +opencv-python==4.9.0.80 +openpyxl==3.1.2 +packaging==23.2 +pandas==2.2.1 +pdfminer.six==20221105 +pdfplumber==0.10.4 +peewee==3.17.1 +pillow==10.2.0 +protobuf==4.25.3 +psutil==5.9.8 +pyarrow==15.0.0 +pyarrow-hotfix==0.6 +pyclipper==1.3.0.post5 +pycparser==2.21 +pycryptodome==3.20.0 +pycryptodome-test-vectors==1.0.14 +pycryptodomex==3.20.0 +pydantic==2.6.2 +pydantic_core==2.16.3 +PyJWT==2.8.0 +PyMySQL==1.1.0 +PyPDF2==3.0.1 +pypdfium2==4.27.0 +python-dateutil==2.8.2 +python-docx==1.1.0 +python-dotenv==1.0.1 +python-pptx==0.6.23 +pytz==2024.1 +PyYAML==6.0.1 +redis==5.0.3 +regex==2023.12.25 +requests==2.31.0 +ruamel.yaml==0.18.6 +ruamel.yaml.clib==0.2.8 +safetensors==0.4.2 +scikit-learn==1.4.1.post1 +scipy==1.12.0 +sentence-transformers==2.4.0 +shapely==2.0.3 +six==1.16.0 +sniffio==1.3.1 +StrEnum==0.4.15 +sympy==1.12 +threadpoolctl==3.3.0 +tika==2.6.0 +tiktoken==0.6.0 +tokenizers==0.15.2 +torch==2.2.1 +tqdm==4.66.2 +transformers==4.38.1 +# triton==2.2.0 +typing_extensions==4.10.0 +tzdata==2024.1 +urllib3==2.2.1 +Werkzeug==3.0.1 +xgboost==2.0.3 +XlsxWriter==3.2.0 +xpinyin==0.7.6 +xxhash==3.4.1 +yarl==1.9.4 +zhipuai==2.0.1 +BCEmbedding +loguru==0.7.2 +opencv-python-headless==4.9.0.80 \ No newline at end of file