项目地址:https://huggingface.co/moka-ai/m3e-large
![](https://www.chenlincai.com/wp-content/uploads/2023/12/ed7f94a83bd11bb.jpg)
M3E 是 Moka Massive Mixed Embedding 的缩写
使用场景主要是中文 + 英文
把https://huggingface.co/moka-ai/m3e-large/tree/main 下载下来放到:
F:\m3e\m3e-large (目前没啥用,除非拿去微调)
Docker部署(存在容器里):
放docker里方便oneapi调用,也避免了各种环境的问题
docker run -d -p 6200:6008 --name=m3e-large-api stawky/m3e-large-api:latest
在oneapi里填的是:http://172.20.206.201:6200
秘钥填:sk-aaabbbcccdddeeefffggghhhiiijjjkkk
Python里调用(存在.cache里)
pip install -U sentence-transformers from sentence_transformers import SentenceTransformer model = SentenceTransformer('moka-ai/m3e-large') #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("")
存在哪?
用Python的**transformers
或sentence-transformers
库下载模型时,模型文件通常会保存在您的本地硬盘上的一个特定文件夹中。默认情况下,这个文件夹是在您的用户目录下的.cache
文件夹内的torch/sentence_transformers/moka-ai_m3e-large
**子文件夹
第一次会从报脸下载到C:\Users\Administrator\.cache\torch\sentence_transformers\moka-ai_m3e-large
输出的向量:
Sentence: * clinch是一个非常牛的人
Embedding: [ 0.44525626 0.50271225 0.59252214 ... -0.1143298 -0.20370926
-0.33264214]
Sentence: * clinch是一个很厉害的人
Embedding: [ 0.34531546 0.490166 0.2894031 ... -0.16533223 -0.32237428
-0.12912813]
语义不一样,向量会不一样,可以比较
微调例子:https://github.com/wangyuxinwhy/uniem/blob/main/examples/finetune.ipynb