M3E中文Embedding
一、说明
项目地址:
- m3e-small
https://huggingface.co/moka-ai/m3e-small - m3e-base
https://huggingface.co/moka-ai/m3e-base
M3E 是 Moka Massive Mixed Embedding 的缩写
- Moka,此模型由 MokaAI 训练,开源和评测,训练脚本使用 uniem ,评测 BenchMark 使用 MTEB-zh
- Massive,此模型通过千万级 (2200w+) 的中文句对数据集进行训练
- Mixed,此模型支持中英双语的同质文本相似度计算,异质文本检索等功能,未来还会支持代码检索
- Embedding,此模型是文本嵌入模型,可以将自然语言转换成稠密的向量
二、准备工作
1、安装sentence_transformers
pip install -U sentence-transformers
2、下载模型
三、使用
from sentence_transformers import SentenceTransformer
#model = SentenceTransformer('moka-ai/m3e-base')自动下载,可以采用离线的方式,'D:\\moka-ai\\m3e-base'为离线模型路径
model = SentenceTransformer('D:\\moka-ai\\m3e-base')
#Our sentences we like to encode
sentences = [
'* Moka 此文本嵌入模型由 MokaAI 训练并开源,训练脚本使用 uniem',
'* Massive 此文本嵌入模型通过**千万级**的中文句对数据集进行训练',
'* Mixed 此文本嵌入模型支持中英双语的同质文本相似度计算,异质文本检索等功能,未来还会支持代码检索,ALL in one'
]
#Sentences are encoded by calling model.encode()
embeddings = model.encode(sentences)
#Print the embeddings
for sentence, embedding in zip(sentences, embeddings):
print("Sentence:", sentence)
print("Embedding:", embedding)
print("")
参考链接:
https://blog.csdn.net/sinat_30045277/article/details/131208109