轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥8起我的订单
文档
工具
提交工单页面收录
embeddings-server

hwdsl2/embeddings-server

hwdsl2

基于Hugging Face TEI的自托管文本嵌入与重排序服务器,提供OpenAI兼容API,支持隐私优先的本地部署,数据不发送至第三方,可灵活切换模型并启用重排序功能。

1 次收藏下载次数: 0状态:社区镜像维护者:hwdsl2仓库类型:镜像最近更新:10 天前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这段话即可:

请先阅读并遵守:https://xuanyuan.cloud/agents.md

未读文档前不要生成 pull 命令或排错方案。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
轩辕镜像,让镜像更快,让人生更轻。
点击查看

Docker上的文本嵌入与重排序API

 

GitHub: https://github.com/hwdsl2/docker-embeddings

属于https://github.com/hwdsl2/self-hosted-ai-stack的一部分——通过单条命令部署完整的自托管AI栈。

该Docker镜像用于运行自托管文本嵌入与重排序服务器,基于https://github.com/huggingface/text-embeddings-inference。提供OpenAI兼容的`/v1/embeddings` API和/rerank端点,设计目标为简单、私密、自托管。

📘 新书推荐: 自托管AI构建者指南——学习如何将该服务部署为完整、默认安全的私有AI栈的一部分。

核心功能

  • OpenAI兼容的POST /v1/embeddings端点——任何使用OpenAI嵌入API的应用只需一行代码即可切换到自托管版本
  • 由https://github.com/huggingface/text-embeddings-inference驱动——高性能Rust-based嵌入服务器
  • 支持流行嵌入模型:BAAI/bge-small-en-v1.5、BAAI/bge-m3、nomic-embed-text-v1.5等
  • 可选重排序功能(通过POST /rerank)——启用交叉编码器模型重新评分检索文档,提升检索精度
  • 通过辅助脚本embed_manage进行模型管理
  • 文本数据保留在您的服务器上——无数据发送至第三方
  • 离线/气隙模式——使用预缓存模型时可无网络运行(设置EMBED_LOCAL_ONLY)
  • 通过https://github.com/hwdsl2/docker-embeddings/actions自动构建和发布
  • 通过Docker卷实现持久化模型缓存
  • 支持平台:linux/amd64、linux/arm64

快速开始

使用以下命令设置文本嵌入服务器:

bash
docker run \
    --name embeddings \
    --restart=always \
    -v embeddings-data:/var/lib/embeddings \
    -p 8000:8000 \
    -d docker.xuanyuan.run/hwdsl2/embeddings-server

注意: 对于面向互联网的部署,强烈建议使用反向代理添加HTTPS。此时,将-p 8000:8000替换为-p 127.0.0.1:8000:8000,以防止直接访问未加密端口。

默认模型BAAI/bge-small-en-v1.5(约130MB)将在首次启动时下载并缓存。查看日志确认服务器就绪:

bash
docker logs embeddings

看到“Text embeddings server is ready”后,生成第一个嵌入:

bash
curl http://您的服务器IP:8000/v1/embeddings \
    -H "Content-Type: application/json" \
    -d '{"input": "The quick brown fox", "model": "text-embedding-ada-002"}'

响应:

json
{"object":"list","data":[{"object":"embedding","embedding":[0.032,...,-0.017],"index":0}],"model":"BAAI/bge-small-en-v1.5","usage":{"prompt_tokens":5,"total_tokens":5}}

环境变量

所有变量均为可选。新安装并挂载/var/lib/embeddings卷时会自动生成Bearer令牌。无密钥的现有安装保持开放以兼容旧版本。

该镜像使用以下变量(可在env文件中声明,见示例):

变量描述默认值
EMBED_MODEL用于嵌入的HuggingFace模型ID,见模型表BAAI/bge-small-en-v1.5
EMBED_PORTAPI的HTTP端口(1–65535)8000
EMBED_API_KEY可选Bearer令牌,新持久化安装自动生成。若设置,所有API请求需包含Authorization: Bearer <key>。显式设为空可禁用认证新持久化安装自动生成
EMBED_HF_TOKEN访问私有或 gated 模型的HuggingFace Hub令牌,公共模型无需(未设置)
EMBED_LOCAL_ONLY设为非空值(如true)时禁用所有HuggingFace模型下载,适用于预缓存模型的离线部署(未设置)
EMBED_ENABLED设为false禁用嵌入进程(仅重排序模式)true
RERANK_ENABLED设为true启用重排序服务器(交叉编码器模型在独立端口)(未设置)
RERANK_MODEL用于重排序的HuggingFace交叉编码器模型ID,见重排序模型BAAI/bge-reranker-v2-m3
RERANK_PORT重排序API的HTTP端口,若嵌入禁用则默认80008001
RERANK_API_KEY重排序的可选Bearer令牌,未设置则 fallback 到EMBED_API_KEY,显式设为空可禁用(fallback到EMBED_API_KEY)
EMBED_DISABLE_USAGE_COUNTS设为1禁用***聚合使用统计(未设置)

示例使用env文件:

bash
cp embed.env.example embed.env
# 编辑embed.env后执行:
docker run \
    --name embeddings \
    --restart=always \
    -v embeddings-data:/var/lib/embeddings \
    -v ./embed.env:/embed.env:ro \
    -p 8000:8000 \
    -d docker.xuanyuan.run/hwdsl2/embeddings-server

Docker Compose示例

bash
cp embed.env.example embed.env
# 编辑embed.env后执行:
docker compose up -d
docker logs embeddings

docker-compose.yml示例(已包含):

yaml
services:
  embeddings:
    image: docker.xuanyuan.run/hwdsl2/embeddings-server
    container_name: embeddings
    restart: always
    ports:
      - "8000:8000/tcp"  # 若使用主机反向代理,改为"127.0.0.1:8000:8000/tcp"
      # - "8001:8001/tcp"  # 重排序API(若embed.env中RERANK_ENABLED=true则取消注释)
    volumes:
      - embeddings-data:/var/lib/embeddings
      - ./embed.env:/embed.env:ro

volumes:
  embeddings-data:
    name: embeddings-data

API参考

生成嵌入

POST /v1/embeddings
Content-Type: application/json

参数:

参数类型必选描述
input字符串或数组✅需嵌入的文本,单字符串或字符串数组(批量嵌入)
model字符串✅任意字符串(如text-embedding-ada-002),仅为API兼容,实际使用EMBED_MODEL设置的模型

示例(带API密钥):

bash
curl http://您的服务器IP:8000/v1/embeddings \
    -H "Authorization: Bearer 您的API密钥" \
    -H "Content-Type: application/json" \
    -d '{"input": "您的文本", "model": "text-embedding-ada-002"}'

重排序文档

需在env文件中设置RERANK_ENABLED=true,默认运行在8001端口。

POST /rerank
Content-Type: application/json

参数:

参数类型必选描述
query字符串✅用于排名的搜索查询
texts字符串数组✅需重排序的文档
raw_scores布尔值若为true返回原始交叉编码器分数,否则返回归一化分数,默认false
truncate布尔值若为true截断超过模型最大长度的输入,默认true

管理服务器

使用容器内的embed_manage脚本管理服务器:

  • 显示服务器信息:docker exec embeddings embed_manage --showinfo
  • 列出推荐模型:docker exec embeddings embed_manage --listmodels
  • 预下载模型:docker exec embeddings embed_manage --pullmodel BAAI/bge-base-en-v1.5

切换模型

  1. (推荐)预下载新模型:docker exec embeddings embed_manage --pullmodel BAAI/bge-base-en-v1.5
  2. 更新embed.env中的EMBED_MODEL
  3. 重启容器:docker restart embeddings

推荐模型:

模型磁盘大小内存(约)说明
BAAI/bge-small-en-v1.5~130MB~250MB最快,英文——默认
BAAI/bge-m3~570MB~1GB多语言,跨语言检索
nomic-ai/nomic-embed-text-v1.5~550MB~1GB多语言,长上下文(8192 tokens)

重排序

启用重排序需设置RERANK_ENABLED=true,支持三种模式:

  • 仅嵌入(默认):RERANK_ENABLED未设置
  • 嵌入+重排序:RERANK_ENABLED=true
  • 仅重排序:EMBED_ENABLED=false且RERANK_ENABLED=true

安全措施

面向互联网的部署需使用反向代理添加HTTPS,推荐Caddy或Nginx。新安装自动生成API密钥,可通过docker exec embeddings embed_manage --showkey查看。

技术细节

  • 基础镜像(amd64):ghcr.io/huggingface/text-embeddings-inference:cpu-latest(Debian)
  • 基础镜像(arm64):基于TEI源码构建,含ONNX Runtime + Candle后端(Debian)
  • 嵌入引擎:Hugging Face TEI(Rust-based,高性能)
  • 数据目录:/var/lib/embeddings(Docker卷)
  • 模型存储:HuggingFace Hub格式,下载一次后复用

许可证

该镜像包含的软件组件(如Hugging Face TEI及其依赖)遵循各自版权持有者选择的许可证。使用前请确保符合所有组件的许可证要求。

本项目遵循https://opensource.org/licenses/MIT,Hugging Face TEI遵循https://github.com/huggingface/text-embeddings-inference/blob/main/LICENSE。

本项目是Hugging Face TEI的独立Docker部署,与Hugging Face Inc.无关联、背书或赞助关系。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 embeddings-server 镜像标签

docker pull docker.xuanyuan.run/hwdsl2/embeddings-server:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull hwdsl2/embeddings-server:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

一键安装

一键安装 Docker

Linux Docker 一键安装

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Apple Container

macOS 原生容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

Unraid

Unraid NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

爱快 4.0 · iKuai 镜像加速

宝塔面板

一键配置镜像源

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

版本功能对比

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

专属域名用法

专属域名 · 开启停用 · 多仓库

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 专业版 · 企业版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

docker.sock / daemon

账号

失败是否计费

manifest · blob · 计费

申请开票(企业 / 个人)

开票 · 发票 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
hwdsl2/embeddings-server
定价查看流量套餐与价格
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥8/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
用户协议·隐私政策·增值电信业务经营许可证:浙B2-20261007·©2024-2026 源码跳动©2024-2026 杭州源码跳动科技有限公司·商务合作:点击复制邮箱

更多 embeddings-server 镜像推荐

linuxserver/code-server logo

linuxserver/code-server

LinuxServer.io 社区镜像
linuxserver/code-server是VS Code服务器版Docker镜像,可在浏览器中运行完整VS Code开发环境,无需本地安装即可跨设备访问。支持全部VS Code扩展、代码同步与终端功能,适配远程开发、团队协作或低配置设备场景。镜像经linuxserver优化,兼容ARM/AMD架构,内置持久化存储与安全配置,开箱即用,轻松打造云端IDE,提升开发灵活性与效率。
741 次收藏5000万+ 次下载
6 天前更新
linuxserver/openssh-server logo

linuxserver/openssh-server

LinuxServer.io 社区镜像
提供OpenSSH服务器服务,支持远程登录与服务器管理,具备易于部署、配置灵活的特点,适用于各类需要安全远程访问的场景。
145 次收藏1000万+ 次下载
10 天前更新
mailserver/docker-mailserver logo

mailserver/docker-mailserver

mailserver
一个全栈且简单易用的邮件服务器,支持SMTP、IMAP协议,集成LDAP、反垃圾邮件及反病毒等功能。
265 次收藏1000万+ 次下载
6 天前更新
linuxserver/sonarr logo

linuxserver/sonarr

LinuxServer.io 社区镜像
由LinuxServer.io提供的Sonarr容器,是一款专为电视节目集管理设计的自动化工具,能够监控指定剧集的更新信息、自动从索引器获取下载链接并通过下载客户端(如Deluge、qBittorrent等)完成资源下载,同时支持按自定义规则整理文件结构、重命名剧集文件以保持媒体库整洁有序;LinuxServer.io作为专注于提供高质量容器化应用的团队,其构建的Sonarr容器基于轻量级Linux系统,优化了资源占用与运行稳定性,适合家庭媒体服务器或个人影视库的自动化管理场景使用。
2.1千 次收藏10亿+ 次下载
5 天前更新

查看更多 embeddings-server 相关镜像