- 后端 API(Flask + Gunicorn) - RAG 引擎(混合检索 + 云端 Reranker + 引用溯源) - 文档解析(MinerU + 多格式支持) - Docker 生产部署配置 - 排除前端项目、敏感配置、模型文件
48 lines
1.3 KiB
Docker
48 lines
1.3 KiB
Docker
# Dockerfile
|
||
FROM python:3.10-slim
|
||
|
||
WORKDIR /app
|
||
|
||
# 使用阿里云镜像源
|
||
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources \
|
||
&& sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources
|
||
|
||
# 系统依赖
|
||
RUN apt-get update && apt-get install -y \
|
||
build-essential \
|
||
poppler-utils \
|
||
libmagic1 \
|
||
curl \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
# Python依赖(使用阿里云 pip 镜像)
|
||
COPY requirements.txt .
|
||
RUN pip install --no-cache-dir -r requirements.txt \
|
||
-i https://mirrors.aliyun.com/pypi/simple/ \
|
||
&& pip install gunicorn>=21.0.0 \
|
||
-i https://mirrors.aliyun.com/pypi/simple/
|
||
|
||
# 应用代码
|
||
COPY . .
|
||
|
||
# 创建 MinerU 配置文件(生产环境)
|
||
RUN echo '{\n\
|
||
"models-dir": {\n\
|
||
"pipeline": "/app/models/mineru/pipeline",\n\
|
||
"vlm": "/app/models/mineru/vlm"\n\
|
||
},\n\
|
||
"config_version": "1.3.1"\n\
|
||
}' > /root/mineru.json
|
||
|
||
# 设置 MinerU 环境变量
|
||
ENV MINERU_MODEL_SOURCE=local
|
||
ENV MINERU_TOOLS_CONFIG_JSON=/root/mineru.json
|
||
|
||
# 创建数据目录(生产环境可能不需要,但保留以防万一)
|
||
RUN mkdir -p data knowledge/vector_store .data documents models
|
||
|
||
EXPOSE 5001
|
||
|
||
# 生产模式启动(使用配置文件)
|
||
CMD ["gunicorn", "-c", "deploy/gunicorn.conf.py", "deploy.wsgi:app"]
|