first commit

This commit is contained in:
2026-10-23 18:09:59 +08:00
commit e0248e810f
8 changed files with 685 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
# 本地重排服务。
#
# 参数全部直接写在本文件里,不再走 .env —— 需要调整时改这里,然后
# docker compose up -d 重建即可。
#
# 首次启动会下载约 290MB 模型权重到 ./models;
# 之后重启/重建都会先校验 sha256,通过就跳过下载,零网络流量。
services:
local-remarker:
build: .
image: local-remarker:latest
container_name: local-remarker
restart: unless-stopped
# 宿主机 63001 -> 容器 8000
ports:
- "63001:8000"
environment:
# ---- 模型存放位置(容器内)----
MODEL_DIR: /models
# ---- 模型来源与选择 ----
MODEL_REPO: Xenova/bge-reranker-base
MODEL_REV: master
MODEL_BASE: https://modelscope.cn/models/Xenova/bge-reranker-base/resolve/master
MODEL_NAME: bge-reranker-base
# 同仓库可选量化档位:
# model_int8.onnx 266MB 默认,带 AVX512-VNNI 的 CPU 上最快
# model_quantized.onnx 266MB
# model_fp16.onnx 531MB
# model.onnx 1061MB 原始精度,CPU 上明显变慢
# 更大的模型可改用 BAAI/bge-reranker-v2-m3(2.2GB,质量最好但重排较慢)
ONNX_FILE: model_int8.onnx
# ---- 推理参数 ----
MAX_LEN: "512" # 截断长度,长文档可调大(吃内存)
BATCH_SIZE: "16" # 每次推理的句对数
# ---- 服务 ----
WORKERS: "1" # 调大前先看内存:每个 worker 会各加载一份模型
PORT: "8000"
LOG_LEVEL: info
TZ: Asia/Shanghai
# 宿主机 ./models -> 容器 /models。指向大盘路径可避免占满系统盘,
# 例如改成 /data/models/remarker:/models
volumes:
- ./models:/models
healthcheck:
test:
- CMD
- python
- -c
- "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:8000/health',timeout=4).status==200 else 1)"
interval: 30s
timeout: 5s
# 首次启动要下模型,给足预热时间
start_period: 600s
retries: 3