all-mpnet-base-v2
这是一款面向英文的文本向量生成模型,可将句子、段落转换为768维稠密向量,支持语义搜索、文本聚类等相关任务。
25.9M次下载最近更新于 347 天前维护状态apache-2.0 · 可评估商用商用提醒
在 Hugging Face 查看官方项目适合解决把企业文档和数据变成可追溯的 AI 问答能力
更适合有文档沉淀、客服或内部知识复用需求的团队
投入判断上手门槛:需评估。通常需要整理数据、配置模型与权限
一分钟看懂
AI 依据上游资料解读 · 2026/8/2这个项目值得继续研究吗?
这是一款面向英文的文本向量生成模型,可将句子、段落转换为768维稠密向量,支持语义搜索、文本聚类等相关任务。
- 解决什么问题
- 企业搭建知识库问答、语义检索、文本分类系统时,传统关键词匹配无法识别语义相近内容,召回准确率低,难以满足用户精准查找内容的需求。
- 适合什么团队
- 适合需要开发英文语义搜索、文本聚类、知识库问答等业务系统,具备AI技术落地能力的企业团队使用。
- 使用前注意
- 该模型仅支持英文文本,采用Apache-2.0开源许可,若不使用配套的sentence-transformers库,需自行实现向量后处理逻辑。
本页用于缩短初步筛选时间,不构成技术、采购或法律结论。 正式使用前请在真实业务数据上验证,并以官方说明与许可证为准。
可核对的事实层
查看来源 →官方资料与来源
- sentence-transformers
- pytorch
- onnx
- safetensors
- openvino
- mpnet
- fill-mask
- feature-extraction
- sentence-similarity
- transformers
- text-embeddings-inference
- en
查看上游原始说明节选
任务类型:sentence-similarity
# all-mpnet-base-v2
This is a [sentence-transformers](https://www.SBERT.net) model: It maps sentences & paragraphs to a 768 dimensional dense vector space and can be used for tasks like clustering or semantic search.
## Usage (Sentence-Transformers)
Using this model becomes easy when you have [sentence-transformers](https://www.SBERT.net) installed:
```
pip install -U sentence-transformers
```
Then you can use the model like this:
```python
from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]
model = SentenceTransformer('sentence-transformers/all-mpnet-base-v2')
embeddings = model.encode(sentences)
print(embeddings)
```
## Usage (HuggingFace Transformers)
Without [sentence-transformers](https://www.SBERT.net), you can use the model like this: First, you pass your input through the transformer model, then you have to apply the right pooling-operation on-top of the contextualized word embeddings.
```python
from transformers import AutoTokenizer, AutoModel
import torch
import torch.nn.functional as F
#Mean Pooling - Take attention mask into account for correct averaging
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0] #First element of model_output contains all token embeddings
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
# Sentences we want sentence embeddings for
sentences = ['This is an example sentence', 'Each sentence is converted']
# Load model from HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('sentence-transformers/all-mpnet-base-v2')
model = AutoModel.from_pretrained('sentence-transformers/all-mpnet-base-v2')
# Tokenize sentences
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
# Compute token embeddings
with torch.no_grad():
model_output = model(**encoded_input)
# Perform pooling
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
# Normalize embeddings
sentence_embeddings = F.normalize(sentence_embeddings, p=2, dim=1)
print("Sentence embeddings:")
print(sentence_embeddings)
```
## Usage (Text Embeddings Inference (TEI))
[Text Embeddings Inference (TEI)](https://github.com/huggingface/text-embeddings-inference) is a blazing fast inference solution for text embedding models.
- CPU:
```bash
docker run -p 8080:80 -v hf_cache:/data --pull always ghcr.io/huggingface/text-embeddings-inference:cpu-latest --model-id sentence-transformers/all-mpnet-base-v2 --pooling mean --dtype float16
```
- NVIDIA GPU:
```bash
docker run --gpus all -p 8080:80 -v hf_cache:/data --pull always ghcr.io/huggingface/text-embeddings-inference:cuda-latest --model-id sentence-transformers/all-mpnet-base-v2 --pooling mean --dtype float16
```
Send a request to `/v1/embeddings` to generate embeddings via the [OpenAI Embeddings API](https://platform.openai.com/docs/api-reference/embeddings/create):
```bash
curl http://localhost:8080/v1/embeddings \
-H 'Content-Type: application/json' \
-d '{
"model": "sentence-transformers/all-mpnet-base-v2",
"input": ["This is an example sentence", "Each sentence is converted"]
}'
```
Or check the [Text Embeddings Inference API specification](https://huggingface.github.io/text-embeddings-inference/) instead.
------
## Background
The project aims to train sentence embedding models on very large sentence level datasets using a self-supervised
contrastive learning objective. We used the pretrained [`microsoft/mpnet-base`](https://huggingface.co/microsoft/mpnet-base) model and fine-tuned in on a
1B sentence pairs dataset. We use a contrastive learning objective: given a sentence from the pair, the model should predict which out of a set of randomly sampled other sentences, was actually paired with it in our dataset.
We develope上游文档较长,此处为节选。完整内容见官方项目。