From f1ba6cd787bc38d92c0f61835994f8a6578f89aa Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Mon, 24 Feb 2025 11:27:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=8E=AF=E5=A2=83=E8=A6=81?= =?UTF-8?q?=E6=B1=82=EF=BC=8C=E7=A1=AE=E4=BF=9D=E5=9C=A8=20ARM=20=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E7=9A=84=E8=AE=BE=E5=A4=87=E4=B8=8A=E4=B9=9F=E8=83=BD?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E4=BD=BF=E7=94=A8=20Docker=20=E5=90=AF?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/api.Dockerfile | 7 +++---- docker/docker-compose.dev.yml | 6 +++--- docker/web.Dockerfile | 4 ++-- requirements.txt | 2 +- scripts/run_docker.sh | 10 ++++++++++ src/.env.template | 4 +++- src/static/config.dev.yaml | 18 ++++++++++++++++++ 7 files changed, 40 insertions(+), 11 deletions(-) create mode 100644 scripts/run_docker.sh diff --git a/docker/api.Dockerfile b/docker/api.Dockerfile index 1bf10287..cd9ab8ce 100644 --- a/docker/api.Dockerfile +++ b/docker/api.Dockerfile @@ -1,5 +1,5 @@ # 使用基础镜像 -FROM pytorch/pytorch:2.4.1-cuda11.8-cudnn9-runtime +FROM python:3.12 # 设置工作目录 WORKDIR /app @@ -9,11 +9,10 @@ COPY ../requirements.txt /app/requirements.txt # 安装依赖(Docker 会缓存这一步,除非 requirements.txt 发生变化) RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple - RUN pip install -U gunicorn -i https://pypi.tuna.tsinghua.edu.cn/simple -RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list -RUN sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list +# RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list +# RUN sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list RUN apt-get clean RUN apt-get update && apt-get install ffmpeg libsm6 libxext6 -y diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 2319d5ad..220e09f9 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -11,7 +11,7 @@ services: - ../src/static/config.dev.yaml:/app/src/static/config.yaml - ${MODEL_DIR}:${MODEL_DIR} # 如果出现 undefined volume MODEL_DIR: invalid compose project,请添加此环境变量或者注释此行 ports: - - "5000:5000" + - "5050:5050" depends_on: - graph - milvus @@ -23,7 +23,7 @@ services: - NEO4J_PASSWORD=0123456789 - MILVUS_URI=http://milvus:19530 - MODEL_DIR=${MODEL_DIR} # 优先级高于 .env 中的 MODEL_DIR - command: uvicorn src.main:app --host 0.0.0.0 --port 5000 --reload + command: uvicorn src.main:app --host 0.0.0.0 --port 5050 --reload web: build: @@ -42,7 +42,7 @@ services: - app-network environment: - NODE_ENV=development - - VITE_API_URL=http://api:5000 # 添加这行 + - VITE_API_URL=http://api:5050 # 添加这行 command: npm run server graph: diff --git a/docker/web.Dockerfile b/docker/web.Dockerfile index baeff494..e5f11d1b 100644 --- a/docker/web.Dockerfile +++ b/docker/web.Dockerfile @@ -1,5 +1,5 @@ # 开发阶段 -FROM node:22.10.0 AS development +FROM node:latest AS development WORKDIR /app # 复制 package.json 和 package-lock.json(如果存在) @@ -17,7 +17,7 @@ EXPOSE 5173 # 启动开发服务器的命令在 docker-compose 文件中定义 # 生产阶段 -FROM node:22.10.0 AS build-stage +FROM node:latest AS build-stage WORKDIR /app COPY ./web/package*.json ./ diff --git a/requirements.txt b/requirements.txt index ca3b2224..fb29a1b5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,7 +18,7 @@ torch>=2.4.0 tqdm>=4.66.1 zhipuai>=2.1.2 neo4j>=5.22.0 -sentencepiece==0.1.99 +sentencepiece>=0.1.99 llama-index-readers-file opencv-python-headless docx2txt diff --git a/scripts/run_docker.sh b/scripts/run_docker.sh new file mode 100644 index 00000000..0007809e --- /dev/null +++ b/scripts/run_docker.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# 检查是否提供了命令行参数 +if [ $# -eq 0 ]; then + echo "请提供命令参数,例如:up -d 或 down" + exit 1 +fi + +# 将所有命令行参数传递给 docker compose 命令 +docker compose -f docker/docker-compose.dev.yml --env-file src/.env "$@" \ No newline at end of file diff --git a/src/.env.template b/src/.env.template index 0774d24d..cb3234d8 100644 --- a/src/.env.template +++ b/src/.env.template @@ -1 +1,3 @@ -ZHIPUAI_API_KEY= +ZHIPUAI_API_KEY=270ea71e9******97.e3XOMdWKuZb7Q1Sk +SILICONFLOW_API_KEY=sk-aeoamptic****vdmozbpdsofstmoqnvsmbvql +MODEL_DIR=/home/user/Documents/projects/Yuxi-Know/models \ No newline at end of file diff --git a/src/static/config.dev.yaml b/src/static/config.dev.yaml index e69de29b..62ed6a52 100644 --- a/src/static/config.dev.yaml +++ b/src/static/config.dev.yaml @@ -0,0 +1,18 @@ +embed_model: siliconflow/BAAI/bge-m3 +enable_knowledge_base: true +enable_knowledge_graph: false +enable_reranker: true +enable_search_engine: false +enable_web_search: false +filename: src/static/config.yaml +model_dir: /Users/wenjie/Documents/projects/Yuxi-Know/models +model_local_paths: {} +model_name: Qwen/Qwen2.5-7B-Instruct +model_provider: siliconflow +reranker: siliconflow/BAAI/bge-reranker-v2-m3 +save_dir: saves +stream: true +use_rewrite_query: 'off' +valuable_model_provider: +- zhipu +- siliconflow