ForcePilot/docs/how-to.md
Wenjie Zhang b0db3c6b0d feat: 更新 Docker 配置和添加 MinerU OCR 服务
- 修改了 docker-compose.yml,更新了 API 和 Web 服务的镜像名称,并添加了 MinerU OCR 服务。
- 在 pyproject.toml 中添加了 Ruff 代码检查工具的配置。
- 更新了 API 和 Web Dockerfile,添加了代理环境变量。
- 新增了用于拉取 Docker 镜像的脚本。
- 在文档中添加了关于如何使用 MinerU OCR 的说明。
- 优化了代码结构和日志记录,提升了可读性和维护性。
2025-05-23 15:30:14 +08:00

3.0 KiB
Raw Blame History

如何优雅的拉取镜像?

使用 bash docker/pull_image.sh python:3.12 就可以。

如何配置本地大语言模型?

支持添加以 OpenAI 兼容模式运行的本地模型,可在 Web 设置中直接添加(适用于 vllm 和 Ollama 等)。

Note

使用 docker 运行此项目时ollama 或 vllm 需监听 0.0.0.0

本地模型配置

如何配置本地向量模型与重排序模型

强烈建议测试阶段先使用硅基流动部署的 bge-m3免费且无需修改。其他模型配置参考 src/static/models.yaml

对于向量模型重排序模型,选择 local 前缀的模型会自动下载。如遇下载问题,请参考 HF-Mirror 配置。

要使用已下载的本地模型:

  1. 在网页设置中添加映射,需要注意,如果是在 docker 里面前缀直接设置为 /models

image

  1. 将文件夹映射到 docker 内部
# docker-compose.yml

services:
  api:
    build:
      context: .
      dockerfile: docker/api.Dockerfile
    container_name: api-dev
    working_dir: /app
    volumes:
      - ./server:/app/server
      - ./src:/app/src
      - ./saves:/app/saves
      - ${MODEL_DIR}:/models <== 比如修改为 /hdd/models:models
    ports:

  1. 重新启动项目
docker compose down
docker compose up --build -d

注:添加本地向量模型由于在 docker 内外的路径差异很大,因此建议参考前面的路径映射之后,也在这里添加。

# src/static/models.yaml
  # 添加本地向量模型(所有 FlagEmbedding 支持的模型)
  local/BAAI/bge-m3:
    name: BAAI/bge-m3
    dimension: 1024
    # local_path: /models/BAAI/bge-m3也可以在这里配置

  # 添加 OpenAI 兼容的向量模型
  siliconflow/BAAI/bge-m3:
    name: BAAI/bge-m3
    dimension: 1024
    url: https://api.siliconflow.cn/v1/embeddings
    api_key: SILICONFLOW_API_KEY

  # 添加 Ollama 模型
  ollama/nomic-embed-text:
    name: nomic-embed-text
    dimension: 768

如何配置 MinerU 抽取数据

在 PDF 数据处理中,可以选择配置 MinerU 来实现更快速、更准确的 PDF 识别效果。

  mineru-api:
    build:
      context: scripts/mineru-api
      dockerfile: Dockerfile
    image: mineru-api:latest
    container_name: mineru-api
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    ports:
      - "5051:5051"
    networks:
      - app-network
    restart: unless-stopped
    command: python -m uvicorn app:app --host 0.0.0.0 --port 5051 --app-dir /app

如果要添加代理的话,可以添加 build args

  mineru-api:
    build:
      context: scripts/mineru-api
      dockerfile: Dockerfile
      args:
        http_proxy: http://宿主机IP:7890
        https_proxy: http://宿主机IP:7890