news 2026/9/16 16:04:34

在 Xinference 中部署 gte-large 文本嵌入模型:内置规格、启动命令与嵌入调用全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 Xinference 中部署 gte-large 文本嵌入模型:内置规格、启动命令与嵌入调用全指南

在 Xinference 中部署 gte-large 文本嵌入模型:内置规格、启动命令与嵌入调用全指南

【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference

gte-large 是 Xinference 内置的英文通用文本嵌入(Text Embedding)模型,输出 1024 维向量、支持最长 512 token 的输入,适用于语义检索、相似度计算、RAG 文档向量化等场景。本文以 gte-large.rst 文档为主体,结合 model_spec.json 内置模型清单与 sentence-transformers 后端实现,完整讲解该模型的规格参数、启动方式、底层推理原理以及 OpenAI 兼容的调用方法,帮助你一条命令跑通嵌入服务并集成到业务中。

gte-large 模型核心规格

Xinference 将 gte-large 作为内置(builtin)嵌入模型收录,其官方规格如下:

项目取值
模型名称(Model Name)gte-large
支持语言(Languages)en(英文)
能力(Abilities)embed(文本嵌入)
向量维度(Dimensions)1024
最大输入长度(Max Tokens)512
模型 ID(Model ID)thenlper/gte-large
模型仓库(Model Hubs)Hugging Face、ModelScope

该规格与 xinference/model/embedding/model_spec.json 中gte-large条目的定义完全一致:dimensions为 1024、max_tokens为 512、language["en"]。模型格式为pytorch,量化方式仅支持none(即默认全精度加载)。如果你需要更轻量的版本,同一 GTE 系列还内置了输出 768 维向量的 gte-base(同样支持 512 token),以及基于 Qwen2 架构的 gte-qwen2。

多仓库模型源与版本锁定

从模型规范可以看到,Xinference 为 gte-large 同时配置了两个模型来源,并按仓库分别锁定了具体的模型版本(model_revision):

  • Hugging Face:模型 ID 为thenlper/gte-large,锁定提交2b5163b62ed28492dc70eb19a882b71c81dbc7c8
  • ModelScope:模型 ID 为Xorbits/gte-large,锁定版本v0.0.1

启动时 Xinference 会根据你的网络环境与配置选择可用的模型仓库自动下载,版本被固定保证可复现性,避免上游更新导致的向量行为不一致。

一条命令启动 gte-large

按照内置模型文档的说明,在已安装并启动 Xinference 服务后,执行以下命令即可拉起模型:

xinference launch --model-name gte-large --model-type embedding

命令中两个参数的含义如下:

  • --model-name gte-large:指定模型名称,必须与内置清单中的名称完全一致;
  • --model-type embedding:指定模型类型为嵌入模型,与文档中Abilities: embed相对应。

启动成功后,命令行会返回一个model_uid(默认与模型名相同)。如需自定义引用标识,可追加--model-uid my-gte-large参数。Xinference 启动命令还支持其他常用选项,例如:

xinference launch --model-name gte-large --model-type embedding \ --model-uid gte-large-1 --n-gpu 1

其中--n-gpu用于指定使用 GPU 数量(模型为 pytorch 格式,默认在 CPU 上也能运行,但 GPU 可显著加速推理)。若希望跳过交互式确认直接下载,可配合--download-from指定来源仓库。

底层推理实现:sentence-transformers 后端

gte-large 属于 pytorch 格式的嵌入模型,在 Xinference 中由 sentence-transformers 后端负责加载与推理,核心实现位于 xinference/model/embedding/sentence_transformers/core.py 中的SentenceTransformerEmbeddingModel类。

依赖与虚拟环境

根据 model_spec.json 中virtualenv.packages的声明,加载 gte-large 依赖以下关键包(在虚拟环境模式下由 Xinference 自动准备):

  • sentence-transformers:核心嵌入引擎;
  • system_torch/system_torchvision:深度学习运行时;
  • FlagEmbeddingvllm等:为切换到其他推理引擎时预留的依赖。

后端代码对 sentence-transformers 版本有明确校验:低于 3.1.0 会直接报错并提示升级(见 core.py)。

编码流程中的关键行为

_create_embedding的实现可以看出嵌入计算的关键细节:

  • 默认归一化:调用编码时kwargs.setdefault("normalize_embeddings", True),即返回的 1024 维向量默认做 L2 归一化,可直接用点积代替余弦相似度计算(core.py);
  • 长度排序分批:输入句子按长度降序排序后分批编码,提升批处理效率;
  • Token 统计:通过累加 attention mask 统计实际 token 数,填充到响应中的usage.prompt_tokenstotal_tokens字段;
  • 截断维度支持:加载时支持通过truncate_dim截断输出维度,为需要降维的场景提供灵活性(core.py)。

在无 GPU 或未显式指定设备时,模型会加载到 CPU;指定--device或 GPU 后自动切换到对应设备。

通过 API 获取嵌入向量

模型启动后,Xinference 提供与 OpenAI Embeddings 兼容的 HTTP 接口,路径为POST /v1/embeddings(客户端封装见 xinference/client/restful/restful_client.py 中的RESTfulEmbeddingModelHandle.create_embedding)。

方式一:直接调用 REST API

curl -X POST http://localhost:9997/v1/embeddings \ -H "Content-Type: application/json" \ -d '{ "model": "gte-large", "input": ["What is text embedding?", "Xinference embedding service"] }'

请求体核心字段:

  • model:模型 UID(即启动时指定的model_uid);
  • input:字符串或字符串数组,对应模型支持的输入形态;
  • 可选dimensions:请求截断后的向量维度(依赖后端支持)。

响应中每个输入对应一个EmbeddingData条目(index从 0 开始),并附带object: "embedding"标记与 token 用量统计;返回向量为归一化后的 1024 维浮点数组。

方式二:使用 Python Client

Xinference 提供了同步与异步两种 RESTful 客户端。同步用法示例:

from xinference.client import Client client = Client("http://localhost:9997") model = client.get_model("gte-large") embedding = model.create_embedding( input=["What is text embedding?", "Xinference embedding service"] ) print(embedding.data[0].embedding[:5]) # 前 5 维 print(embedding.usage.total_tokens) # token 用量

异步场景可使用 async_restful_client.py 中对应的AsyncClient/create_embedding,配合await编写高并发调用。返回的Embedding数据结构(datausage等字段)定义于 xinference/types.py 附近的嵌入类型模块。

使用建议与注意事项

  • 输入长度控制:gte-large 最大支持 512 token,超出部分会被截断。对长文档做 RAG 向量化时,建议先按段落或句子切分,保证语义单元完整且不超过上限;
  • 语言范围:该模型面向英文优化(language: en),中文检索场景建议改用 bge-m3、text2vec 系列等中英双语模型;
  • 归一化默认开启:直接用返回向量做点积即可比较相似度,无需自行归一化;
  • 首次启动耗时:首次运行需要从 Hugging Face / ModelScope 下载权重(约数百 MB 的 pytorch 权重文件),之后会命中本地模型缓存;
  • 模型管理:通过xinference list查看已启动模型,xinference remove停止并释放资源;更多 CLI 用法可参考 启动指南。

完整的嵌入模型内置清单可见 embedding 模型索引,其中列出了 bge、bce、jina、m3e、text2vec、qwen3-embedding 等数十个可直接以同样方式启动的嵌入模型,可根据语言、维度与场景需求按需选用。

【免费下载链接】inferenceSwap GPT for any LLM by changing a single line of code. Xinference lets you run open-source, speech, and multimodal models on cloud, on-prem, or your laptop — all through one unified, production-ready inference API.项目地址: https://gitcode.com/GitHub_Trending/in/inference

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 16:04:29

Vue3+Node.js+MySQL校园资产管理系统实战

简介:这是一套基于VueNode.jsMySQL技术栈开发的校园资产管理系统全栈源码,面向Web全栈初学者与高校课程设计者,解决校园场景下资产登记、借用归还、分类统计等核心管理需求。资源共61个文件,含25个JavaScript后端逻辑与API封装文件…

作者头像 李华
网站建设 2026/9/16 16:03:54

NSGA-II与NSGA-III算法解析:Python实现多目标优化与选择指南

简介:一套面向多目标优化学习与研究者的NSGA3与NSGA-II算法Python/Matlab实现代码包。针对工程设计、调度、投资组合等具有相互冲突目标的优化问题,提供从帕累托前沿构建、快速非支配排序到拥挤距离与分层选择的完整实现框架。压缩包共10个文件&#xff…

作者头像 李华
网站建设 2026/9/16 16:03:16

三菱PLC在药片装瓶机控制系统中的应用与优化

1. 自动药片装瓶机控制系统架构解析在制药行业的自动化生产线上,药片装瓶机堪称"精密舞者",其控制系统需要协调机械臂、传送带、计数机构等十余个执行单元。这套由三菱FX3U PLC作为主控的系统,通过组态王上位机实现人机交互&#x…

作者头像 李华
网站建设 2026/9/16 15:59:23

docker-minecraft-server 环境变量改配置:4 个部署场景与避坑指南

docker-minecraft-server 环境变量改配置:4 个部署场景与避坑指南 【免费下载链接】docker-minecraft-server Docker image that provides a Minecraft Server for Java Edition that automatically installs/upgrades versions, modloaders, modpacks and more at …

作者头像 李华
网站建设 2026/9/16 15:59:21

改对 3 处配置,让 ESP-IDF USB Host 驱动一次枚举成功

改对 3 处配置,让 ESP-IDF USB Host 驱动一次枚举成功 【免费下载链接】esp-idf Espressif IoT Development Framework. Official development framework for Espressif SoCs. 项目地址: https://gitcode.com/GitHub_Trending/es/esp-idf 你正在用 ESP-IDF 的…

作者头像 李华