开源项目 uniem 使用教程
uniemunified embedding model项目地址:https://gitcode.com/gh_mirrors/un/uniem
项目介绍
uniem 项目的目标是创建中文最好的通用文本嵌入模型。本项目主要包括模型的训练、微调和评测代码,模型与数据集会在 HuggingFace 社区上进行开源。uniem 是 UNIfied Embedding Model 的缩写,旨在为中文 Embedding 模型提供统一的评测标准,参考了 MTEB 构建了中文评测标准 MTEB-zh。
项目快速启动
环境准备
首先,确保你已经安装了 Python 3.10 或更高版本。然后,创建一个虚拟环境并激活它:
conda create -n uniem python=3.10
conda activate uniem
克隆并安装项目
克隆项目到本地并安装:
git clone https://github.com/wangyuxinwhy/uniem.git
cd uniem
pip install -e .
加载模型
使用 sentence-transformers 加载 uniem 模型:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("moka-ai/m3e-base")
embeddings = model.encode(['Hello World', '你好 世界'])
print(embeddings)
应用案例和最佳实践
文本分类
使用 uniem 模型进行文本分类:
from sklearn.datasets import fetch_20newsgroups
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 加载数据集
newsgroups = fetch_20newsgroups(subset='all')
X_train, X_test, y_train, y_test = train_test_split(newsgroups.data, newsgroups.target, test_size=0.2, random_state=42)
# 获取嵌入
X_train_embeddings = model.encode(X_train)
X_test_embeddings = model.encode(X_test)
# 训练分类模型
classifier = LogisticRegression(max_iter=500)
classifier.fit(X_train_embeddings, y_train)
# 预测
y_pred = classifier.predict(X_test_embeddings)
print(f"Accuracy: {accuracy_score(y_test, y_pred)}")
文本检索
使用 uniem 模型进行文本检索:
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
# 示例数据
documents = ["你好 世界", "这是一个测试文档", "欢迎使用 uniem 模型"]
queries = ["你好"]
# 获取嵌入
document_embeddings = model.encode(documents)
query_embeddings = model.encode(queries)
# 计算相似度
similarities = cosine_similarity(query_embeddings, document_embeddings)
print(similarities)
典型生态项目
sentence-transformers
uniem 模型完全兼容 sentence-transformers,可以在所有支持 sentence-transformers 的项目中无缝使用。
chroma
chroma 是一个基于 uniem 模型的文本检索系统,可以快速实现高效的文本检索功能。
semantic-kernel
semantic-kernel 是一个基于 uniem 模型的语义分析工具,可以帮助开发者进行更深层次的文本分析和处理。
通过以上教程,您可以快速上手并应用 uniem 模型进行各种文本处理任务。希望 uniem 能为您的工作带来便利和效率提升。
uniemunified embedding model项目地址:https://gitcode.com/gh_mirrors/un/uniem