init: RAG 知识库服务初始提交

- 后端 API(Flask + Gunicorn)
- RAG 引擎(混合检索 + 云端 Reranker + 引用溯源)
- 文档解析(MinerU + 多格式支持)
- Docker 生产部署配置
- 排除前端项目、敏感配置、模型文件
This commit is contained in:
lacerate551
2026-06-04 17:35:27 +08:00
commit 100d1a06eb
158 changed files with 64534 additions and 0 deletions

47
deploy/Dockerfile Normal file
View File

@@ -0,0 +1,47 @@
# 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"]