Mindket

multilingual-e5-large

新上架第 1 版 · 更新于

概览

把约 100 种语言的文本变成 1024 个数字的向量,用于搜索、匹配和检索。这是 intfloat 基于 xlm-roberta-large 的 5.6 亿参数嵌入模型。

multilingual-e5-large 是一款工具包,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,是一个装着它全部文件的 zip 压缩包。这些文件不会自己运行。

速览

你需要
  • 带 pip 的 Python
  • PyTorch 和 transformers
  • F32 权重约需 2.2 GB 磁盘空间
用在
  • 装有 transformers 和 PyTorch 的 Python 脚本和笔记本
  • 存储向量的搜索和检索后端
  • Windows、macOS 和 Linux
先运行
pip install -U huggingface_hub
hf download intfloat/multilingual-e5-large

平台

Windows操作系统
macOS操作系统
Linux操作系统

关于

它是什么

multilingual-e5-large 是一个文本嵌入模型。它把一句话或一段文字转换成 1024 个数字组成的列表,这样意思相近的文本会靠得很近,即使语言不同也一样。

它有 24 层。它从 xlm-roberta-large 出发,在多种多语言数据集的混合数据上继续训练,支持约 100 种语言。

适合谁

适合想构建多语言搜索、问题匹配或文档检索、并希望用自己能运行的开源嵌入模型的开发者和数据团队。

IndustryWho uses itHow they use itExample
软件搜索工程师为语义搜索嵌入文档和查询用英文问题找到中文帮助文章
客户服务支持团队把新问题和过去的答案配对把西班牙语工单和英文回复关联起来
研究NLP 研究者把它当作多语言基线比较不同语言的检索质量
内容知识库负责人为混合语言文档建索引为英文和中文笔记建立同一个索引

如果你只需要英文文本,可以跳过它,因为有更小的纯英文嵌入模型,或者你需要的是会写文字的模型。

用在哪里

它在装有 transformers 库的 Python 里运行,页面还把它列为 sentence-transformers 模型。

  • 装有 transformers 和 PyTorch 的 Python 脚本和笔记本
  • 存储向量的搜索和检索后端
  • Windows、macOS 和 Linux
Use caseWhoWhat they get back
语义搜索搜索工程师查询与每段文字之间的相似度得分
问题匹配支持团队与新问题最接近的已存答案
跨语言查找内容团队查询和文段语言不同时也能匹配

如何设置

你需要 Python 和几个库。模型卡自带的脚本用到 PyTorch 和 transformers,权重在你第一次加载时从 Hugging Face 下载。

  • 带 pip 的 Python
  • PyTorch 和 transformers
  • F32 权重约需 2.2 GB 磁盘空间
  1. 安装 Python 和脚本导入的库。
  2. 也可以先用 Hugging Face 的命令下载模型文件。
  3. 运行下面的脚本。
pip install -U huggingface_hub
hf download intfloat/multilingual-e5-large

如何使用

每个输入都要以 query 加冒号,或 passage 加冒号开头,非英文文本也一样。对于检索以外的任务,模型卡说用 query 前缀。脚本随后做池化、归一化和打分。

import torch.nn.functional as F

from torch import Tensor
from transformers import AutoTokenizer, AutoModel

def average_pool(last_hidden_states: Tensor,
                 attention_mask: Tensor) -> Tensor:
    last_hidden = last_hidden_states.masked_fill(~attention_mask[..., None].bool(), 0.0)
    return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None]

# Each input text should start with "query: " or "passage: ", even for non-English texts.
# For tasks other than retrieval, you can simply use the "query: " prefix.
input_texts = ['query: how much protein should a female eat',
               'query: 南瓜的家常做法',
               "passage: As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day. But, as you can see from this chart, you'll need to increase that if you're expecting or training for a marathon. Check out the chart below to see how much protein you should be eating each day.",
               "passage: 1.清炒南瓜丝 原料:嫩南瓜半个 调料:葱、盐、白糖、鸡精 做法: 1、南瓜用刀薄薄的削去表面一层皮,用勺子刮去瓤 2、擦成细丝(没有擦菜板就用刀慢慢切成细丝) 3、锅烧热放油,入葱花煸出香味 4、入南瓜丝快速翻炒一分钟左右,放盐、一点白糖和鸡精调味出锅 2.香葱炒南瓜 原料:南瓜1只 调料:香葱、蒜末、橄榄油、盐 做法: 1、将南瓜去皮,切成片 2、油锅8成热后,将蒜末放入爆香 3、爆香后,将南瓜片放入,翻炒 4、在翻炒的同时,可以不时地往锅里加水,但不要太多 5、放入盐,炒匀 6、南瓜差不多软和绵了之后,就可以关火 7、撒入香葱,即可出锅"]

tokenizer = AutoTokenizer.from_pretrained('intfloat/multilingual-e5-large')
model = AutoModel.from_pretrained('intfloat/multilingual-e5-large')

# Tokenize the input texts
batch_dict = tokenizer(input_texts, max_length=512, padding=True, truncation=True, return_tensors='pt')

outputs = model(**batch_dict)
embeddings = average_pool(outputs.last_hidden_state, batch_dict['attention_mask'])

# normalize embeddings
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:2] @ embeddings[2:].T) * 100
print(scores.tolist())
ToolWhat it does
AutoTokenizer把文本切成词元,每条最多 512 个词元
AutoModel加载嵌入模型
average_pool对词元向量取平均,忽略填充部分
F.normalize把每个嵌入缩放到单位长度

示例

你传入两个问题,一个是关于蛋白质的英文问题,一个是关于南瓜做法的中文问题,再加两段文字。脚本会打印一个二乘二的得分列表,每个问题都和匹配的文段得分最高。

新手与专家

如果你是新手,原样运行模型卡的脚本。在换成自己的句子之前,它会展示文本如何加前缀、变成向量并被比较。

如果你熟悉这个领域:模型先在弱监督文本对上做对比预训练,再做有监督微调。文本对来自网页、新闻、翻译和维基百科等来源。模型卡提醒,低资源语言的质量可能较弱。

  1. 加上 query 或 passage 前缀
  2. 对文本分词
  3. 运行模型
  4. 平均池化并归一化
  5. 比较嵌入得出分数

注意事项

第一阶段训练用了大量文本对,见下表。模型卡还链接了一份 2024 年关于 Multilingual E5 文本嵌入的技术报告。

第一阶段文本对
SourceKind of pairCount
NLLB翻译对2.4B
Filtered mC4网页标题和内容1B
Filtered Reddit评论和回复800M
CC News新闻标题和内容400M
Wikipedia章节标题和文段150M
S2ORC标题、摘要和引用100M
xP3提示和回复80M
Stackexchange问题和答案50M
  • License: MIT
  • Cost to run: 未提及费用
  • Data it reaches: 你嵌入的文本,以及从 Hugging Face 下载的模型文件
  • Not for: 文本生成,以及质量可能下降的低资源语言

README 和文件

README

multilingual-e5-large

把约 100 种语言的文本变成 1024 个数字的向量,用于搜索、匹配和检索。这是 intfloat 基于 xlm-roberta-large 的 5.6 亿参数嵌入模型。

由 intfloat 在 Hugging Face 上制作。这些说明是 Mindket 根据它的模型页面和模型卡写的,模型自己的文件和许可证在 Hugging Face 上。

简介

它是什么:multilingual-e5-large 是一个文本嵌入模型。它把一句话或一段文字转换成 1024 个数字组成的列表,这样意思相近的文本会靠得很近,即使语言不同也一样。

它有 24 层。它从 xlm-roberta-large 出发,在多种多语言数据集的混合数据上继续训练,支持约 100 种语言。

适合谁:适合想构建多语言搜索、问题匹配或文档检索、并希望用自己能运行的开源嵌入模型的开发者和数据团队。

Industry | Who uses it | How they use it | Example
软件 | 搜索工程师 | 为语义搜索嵌入文档和查询 | 用英文问题找到中文帮助文章
客户服务 | 支持团队 | 把新问题和过去的答案配对 | 把西班牙语工单和英文回复关联起来
研究 | NLP 研究者 | 把它当作多语言基线 | 比较不同语言的检索质量
内容 | 知识库负责人 | 为混合语言文档建索引 | 为英文和中文笔记建立同一个索引

如果你只需要英文文本,可以跳过它,因为有更小的纯英文嵌入模型,或者你需要的是会写文字的模型。

用在哪里:它在装有 transformers 库的 Python 里运行,页面还把它列为 sentence-transformers 模型。

  • 装有 transformers 和 PyTorch 的 Python 脚本和笔记本
  • 存储向量的搜索和检索后端
  • Windows、macOS 和 Linux
Use case | Who | What they get back
语义搜索 | 搜索工程师 | 查询与每段文字之间的相似度得分
问题匹配 | 支持团队 | 与新问题最接近的已存答案
跨语言查找 | 内容团队 | 查询和文段语言不同时也能匹配

如何设置:你需要 Python 和几个库。模型卡自带的脚本用到 PyTorch 和 transformers,权重在你第一次加载时从 Hugging Face 下载。

  • 带 pip 的 Python
  • PyTorch 和 transformers
  • F32 权重约需 2.2 GB 磁盘空间
  1. 安装 Python 和脚本导入的库。
  2. 也可以先用 Hugging Face 的命令下载模型文件。
  3. 运行下面的脚本。
pip install -U huggingface_hub
hf download intfloat/multilingual-e5-large

如何使用:每个输入都要以 query 加冒号,或 passage 加冒号开头,非英文文本也一样。对于检索以外的任务,模型卡说用 query 前缀。脚本随后做池化、归一化和打分。

import torch.nn.functional as F

from torch import Tensor
from transformers import AutoTokenizer, AutoModel

def average_pool(last_hidden_states: Tensor,
                 attention_mask: Tensor) -> Tensor:
    last_hidden = last_hidden_states.masked_fill(~attention_mask[..., None].bool(), 0.0)
    return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None]

# Each input text should start with "query: " or "passage: ", even for non-English texts.
# For tasks other than retrieval, you can simply use the "query: " prefix.
input_texts = ['query: how much protein should a female eat',
               'query: 南瓜的家常做法',
               "passage: As a general guideline, the CDC's average requirement of protein for women ages 19 to 70 is 46 grams per day. But, as you can see from this chart, you'll need to increase that if you're expecting or training for a marathon. Check out the chart below to see how much protein you should be eating each day.",
               "passage: 1.清炒南瓜丝 原料:嫩南瓜半个 调料:葱、盐、白糖、鸡精 做法: 1、南瓜用刀薄薄的削去表面一层皮,用勺子刮去瓤 2、擦成细丝(没有擦菜板就用刀慢慢切成细丝) 3、锅烧热放油,入葱花煸出香味 4、入南瓜丝快速翻炒一分钟左右,放盐、一点白糖和鸡精调味出锅 2.香葱炒南瓜 原料:南瓜1只 调料:香葱、蒜末、橄榄油、盐 做法: 1、将南瓜去皮,切成片 2、油锅8成热后,将蒜末放入爆香 3、爆香后,将南瓜片放入,翻炒 4、在翻炒的同时,可以不时地往锅里加水,但不要太多 5、放入盐,炒匀 6、南瓜差不多软和绵了之后,就可以关火 7、撒入香葱,即可出锅"]

tokenizer = AutoTokenizer.from_pretrained('intfloat/multilingual-e5-large')
model = AutoModel.from_pretrained('intfloat/multilingual-e5-large')

# Tokenize the input texts
batch_dict = tokenizer(input_texts, max_length=512, padding=True, truncation=True, return_tensors='pt')

outputs = model(**batch_dict)
embeddings = average_pool(outputs.last_hidden_state, batch_dict['attention_mask'])

# normalize embeddings
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:2] @ embeddings[2:].T) * 100
print(scores.tolist())
Tool | What it does
AutoTokenizer | 把文本切成词元,每条最多 512 个词元
AutoModel | 加载嵌入模型
average_pool | 对词元向量取平均,忽略填充部分
F.normalize | 把每个嵌入缩放到单位长度

示例:你传入两个问题,一个是关于蛋白质的英文问题,一个是关于南瓜做法的中文问题,再加两段文字。脚本会打印一个二乘二的得分列表,每个问题都和匹配的文段得分最高。

新手与专家:如果你是新手,原样运行模型卡的脚本。在换成自己的句子之前,它会展示文本如何加前缀、变成向量并被比较。

如果你熟悉这个领域:模型先在弱监督文本对上做对比预训练,再做有监督微调。文本对来自网页、新闻、翻译和维基百科等来源。模型卡提醒,低资源语言的质量可能较弱。

加上 query 或 passage 前缀
对文本分词
运行模型
平均池化并归一化
比较嵌入得出分数

注意事项:第一阶段训练用了大量文本对,见下表。模型卡还链接了一份 2024 年关于 Multilingual E5 文本嵌入的技术报告。

Title: 第一阶段文本对
Source | Kind of pair | Count
NLLB | 翻译对 | 2.4B
Filtered mC4 | 网页标题和内容 | 1B
Filtered Reddit | 评论和回复 | 800M
CC News | 新闻标题和内容 | 400M
Wikipedia | 章节标题和文段 | 150M
S2ORC | 标题、摘要和引用 | 100M
xP3 | 提示和回复 | 80M
Stackexchange | 问题和答案 | 50M
  • License: MIT
  • Cost to run: 未提及费用
  • Data it reaches: 你嵌入的文本,以及从 Hugging Face 下载的模型文件
  • Not for: 文本生成,以及质量可能下降的低资源语言

Hugging Face 上的数据(2026年11月13日)

  • 任务:feature extraction
  • 框架:sentence-transformers
  • 参数量:560M
  • Weights: about 2.2 GB in F32; about 280 MB at 4-bit (estimate)
  • Formats: Safetensors
  • 最近 30 天下载:7,120,555
  • 点赞:1,284
  • 许可证:mit
  • 语言:af, am, ar, as, az, be, bg, bn
  • Quantized versions: 270
  • Fine-tunes: 198
  • 标签:sentence-transformers, pytorch, onnx, safetensors, openvino, xlm-roberta, mteb, sentence-similarity, feature-extraction, multilingual, model-index, text-embeddings-inference

链接

  • 模型:https://huggingface.co/intfloat/multilingual-e5-large
  • 文件:https://huggingface.co/intfloat/multilingual-e5-large/tree/main

获取模型

用 Hugging Face 的命令行下载它的文件:

pip install -U huggingface_hub
hf download intfloat/multilingual-e5-large

然后按它的模型卡使用它。这个工具包里没有会自己运行的东西。

文件
README.md  8 KB

1 个文件,共 8 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-13

同类产品对比

同一分类里与本产品共有标签最多的已上架 Hugging Face 模型。

产品最近 30 天下载点赞参数量许可证最近更新
multilingual-e5-large 本页7,120,5551,284560Mmit
bge-small-en-v1.5共有 mteb · model-index · sentence-similarity45,750,54867133.4Mmit
bge-base-en-v1.5共有 mteb · model-index · sentence-similarity8,508,165542109Mmit
paraphrase-multilingual-MiniLM-L12-v2共有 openvino · sentence-similarity · text-embeddings-inference26,540,1251,505118Mapache-2.0
nomic-embed-text-v1.5共有 mteb · model-index · sentence-similarity11,809,681994137Mapache-2.0
bge-m3共有 xlm-roberta · sentence-similarity · text-embeddings-inference29,282,1673,989—mit
数据为 Mindket 在 2026-11-12 至 2026-11-13 期间读取的数值。

评价

还没有评分

写评价

还没有评价。

大家怎么说

Hacker News、Bluesky、X、Reddit、Facebook 和 YouTube 上提到这个项目的帖子和评论,来自每周一次的搜索和 Trendshift。它们不是 Mindket 写的,也未经核实,点开即可在原帖处阅读。

搜索日期

Mindket 的更多商品

查看 Mindket 的全部商品

anaksor-ocr

Sokheng · 工具包

这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

新上架

Qwen2.5-7B-Instruct-GGUF

Qwen · 工具包

Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。

新上架

ACE-Step 1.5 XL SFT

ACE-Step · 工具包

用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。

新上架

开发类的相似商品

查看开发类的全部商品

Claude Code Skills & Plugins

alirezarezvani · 技能

为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。

新上架29.8k

buzz

block · 工具包

可自行托管的工作空间,人和 AI 智能体在同样的房间里协作,基于 Nostr 中继,把每个动作记录为签名事件。适合想自己运行中继的团队。

新上架37.3k

plannotator

backnotprop · 工具包

把你的 AI 编程智能体的计划、规格和代码改动在浏览器里打开,让你加批注或评论,并把反馈直接发回给智能体。

新上架10.5k