Sign inSign up

wkao/jina-embedding-v5

By wkao

•Updated 18 days ago

Image
0

220

wkao/jina-embedding-v5 repository overview

⁠jina-embeddings-v5

Jina v5 嵌入向量服务 · OpenAI 兼容 /v1/embeddings · 端口 6008 · 镜像 wkao/jina-embedding-v5:latest · 固定 CPU 推理

⁠快速开始

⁠方式一:docker run

镜像已内置默认配置(默认加载 HF 版 jina-embeddings-v5-text-small),不带任何参数即可启动:

# 拉取镜像
docker pull wkao/jina-embedding-v5:latest

# 运行(未传 API_KEYS 时使用镜像内置默认 Key: sk-aaabbbcccdddeeefffggghhhiiijjjkkk)
docker run -d --name jina-embedding-v5 -p 6008:6008 wkao/jina-embedding-v5:latest

# 指定自有 API Key(多个用逗号分隔)
docker run -d --name jina-embedding-v5 -p 6008:6008 \
  -e API_KEYS="sk-your-key-1,sk-your-key-2" \
  wkao/jina-embedding-v5:latest

模型在后台加载,/health 就绪前返回 503,请耐心等待。

⁠方式二:docker compose(推荐)

docker-compose.yml

services:
  jina-embedding-v5:
    image: wkao/jina-embedding-v5:latest
    container_name: jina-embedding-v5
    restart: unless-stopped

    ports:
      - "6008:6008"

    environment:
      # ---- 认证 ----(多个 Key 用逗号分隔;留空则用 model_config.yaml 默认值)
      API_KEYS: "${API_KEYS:-sk-aaabbbcccdddeeefffggghhhiiijjjkkk}"
      AUTH_ENABLED: "${AUTH_ENABLED:-true}"

      # ---- 模型 ----(本服务固定 CPU 推理,镜像内安装 +cpu 版 torch)
      #   MODEL_TYPE: jina_v5_text_small (HF 原生,默认) / jina_v5_text_retrieval_gguf (GGUF)
      MODEL_NAME: "${MODEL_NAME:-jina-embeddings-v5-text-small}"
      MODEL_TYPE: "${MODEL_TYPE:-jina_v5_text_small}"
      MODEL_PATH: "${MODEL_PATH:-./jina-embeddings-v5-text-small}"
      MODEL_TASK: "${MODEL_TASK:-retrieval}"          # retrieval / text-matching / clustering / classification
      MODEL_INFERENCE_THREADS: "${MODEL_INFERENCE_THREADS:-0}"

      # ---- 服务 ----
      SERVER_PORT: "6008"
      SERVER_WORKERS: "${SERVER_WORKERS:-1}"
      SERVER_MAX_REQUEST_SIZE_MB: "${SERVER_MAX_REQUEST_SIZE_MB:-50}"
      LOG_LEVEL: "${LOG_LEVEL:-INFO}"
      LOG_FORMAT: "${LOG_FORMAT:-json}"         # json / text

      # ---- 限流 ----
      RATE_LIMIT_ENABLED: "${RATE_LIMIT_ENABLED:-true}"
      RATE_LIMIT_RPM: "${RATE_LIMIT_RPM:-60}"
      RATE_LIMIT_TPM: "${RATE_LIMIT_TPM:-1000000}"

      # ---- Embedding 缓存 (LRU + TTL + 内存上限) ----
      EMBED_CACHE_ENABLED: "${EMBED_CACHE_ENABLED:-true}"
      EMBED_CACHE_MAX_SIZE: "${EMBED_CACHE_MAX_SIZE:-10000}"
      EMBED_CACHE_TTL_SECONDS: "${EMBED_CACHE_TTL_SECONDS:-7200}"
      EMBED_CACHE_MAX_MEMORY_MB: "${EMBED_CACHE_MAX_MEMORY_MB:-128}"

      # ---- 运行时 ----
      PYTHONUNBUFFERED: "1"
      PYTHONDONTWRITEBYTECODE: "1"
      TZ: "${TZ:-Asia/Shanghai}"

    # 如需在宿主机覆盖模型文件或配置,取消以下注释
    # volumes:
    #   - ./llm/jina-embeddings-v5-text-small:/app/jina-embeddings-v5-text-small:ro
    #   - ./app/config/model_config.yaml:/app/config/model_config.yaml:ro

    healthcheck:
      test:
        - CMD
        - python
        - -c
        - "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://localhost:6008/health', timeout=5).status==200 else 1)"
      interval: 30s
      timeout: 10s
      retries: 5
      start_period: 300s        # 模型后台加载,需覆盖加载耗时

    logging:
      driver: json-file
      options:
        max-size: "20m"
        max-file: "5"

    # HF bfloat16 模型加载约 2.5-3.5GB 内存
    deploy:
      resources:
        limits:
          memory: 6g
        reservations:
          memory: 2g

networks:
  default:
    name: jina-embedding-net

启动与常用命令:

docker compose up -d                        # 启动
docker compose logs -f jina-embedding-v5    # 实时日志
curl http://localhost:6008/health           # 健康检查
docker compose down                         # 停止并清理

Compose 中的环境变量默认值与镜像内 app/config/model_config.yaml 保持一致;若两处都设置,环境变量优先级更高。完整变量清单见下方 环境变量⁠ 章节。

⁠用 .env 覆盖配置

在 docker-compose.yml 同目录创建 .env,docker compose 自动读取(默认值全在 compose 里,只写要改的项即可):

API_KEYS=sk-your-key-1,sk-your-key-2
AUTH_ENABLED=true
LOG_LEVEL=INFO
LOG_FORMAT=json
RATE_LIMIT_RPM=120
EMBED_CACHE_MAX_SIZE=20000
TZ=Asia/Shanghai
⁠挂载宿主机模型 / 配置

不重建镜像即可替换权重或调配置,取消 compose 里 volumes 段注释:

    volumes:
      - ./llm/jina-embeddings-v5-text-small:/app/jina-embeddings-v5-text-small:ro
      - ./app/config/model_config.yaml:/app/config/model_config.yaml:ro

Tag summary

Content type

Image

Digest

sha256:f7aa25aec…

Size

1.4 GB

Last updated

18 days ago

docker pull wkao/jina-embedding-v5