Files
ailine/docker/Dockerfile.backend

58 lines
2.1 KiB
Docker
Raw Normal View History

FROM python:3.11-slim
WORKDIR /app
2026-04-16 00:31:33 +08:00
# =============================================================================
# 非敏感环境变量(固化在镜像中,无需通过 .env 配置)
# =============================================================================
ENV PYTHONPATH=/app
# llama.cpp 服务配置(本地部署标准端口)
2026-04-17 01:26:05 +08:00
ENV VLLM_BASE_URL=http://host.docker.internal:18000/v1
ENV LLAMACPP_EMBEDDING_URL=http://host.docker.internal:18001/v1
2026-04-16 00:31:33 +08:00
# Mem0 记忆层配置
ENV QDRANT_COLLECTION_NAME=mem0_user_memories
# 应用行为配置(可通过 .env 覆盖)
ENV MEMORY_SUMMARIZE_INTERVAL=10
ENV ENABLE_GRAPH_TRACE=false
2026-04-19 15:01:40 +08:00
# unstructured 库 spaCy 模型配置
ENV UNSTRUCTURED_LANGUAGE=eng
ENV SPACY_MODEL=en_core_web_sm
2026-04-16 00:31:33 +08:00
# 日志配置
ENV LOG_LEVEL=WARNING
ENV DEBUG=false
# =============================================================================
# 安装依赖
# =============================================================================
COPY requirement.txt .
RUN pip install --no-cache-dir -r requirement.txt
2026-04-19 15:01:40 +08:00
# =============================================================================
# 预下载 spaCy 语言模型(避免容器启动时重复下载)
# =============================================================================
RUN pip install --no-cache-dir spacy && \
python -m spacy download en_core_web_sm && \
python -m spacy download zh_core_web_sm
2026-04-16 00:31:33 +08:00
# =============================================================================
# 复制项目代码 (只复制必需的文件夹,避免依赖被忽略的目录)
2026-04-16 00:31:33 +08:00
# =============================================================================
2026-04-20 18:19:25 +08:00
COPY rag_core/ ./rag_core/
COPY app/ ./app/
COPY frontend/ ./frontend/
COPY scripts/ ./scripts/
2026-04-16 00:31:33 +08:00
# =============================================================================
# 暴露端口
# =============================================================================
EXPOSE 8083
2026-04-16 00:31:33 +08:00
# =============================================================================
# 启动命令
2026-04-16 00:31:33 +08:00
# =============================================================================
CMD ["python", "app/backend.py"]