在当今的AI和机器学习应用中,嵌入向量(embeddings)已成为不可或缺的一部分。嵌入向量能够将文本等高维数据转换为低维稠密向量,从而便于计算和分析。在本文中,我们将介绍如何使用 HuggingFace 库在本地生成嵌入向量,并演示相关代码。
环境准备
首先,我们需要安装一些必要的依赖库。可以通过以下命令进行安装:
# 安装必要的库
!pip install sentence-transformers
!pip install llama-index
!pip install optimum[exporters]
!pip install InstructorEmbedding
!pip install -U sentence-transformers==2.2.2
使用 HuggingFace 嵌入模型
HuggingFace 提供了多种嵌入模型。以下是使用基础 HuggingFace 嵌入模型的代码示例:
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
# 加载 BAAI/bge-small-en-v1.5 模型
embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5")
# 获取文本的嵌入向量
embeddings = embed_model.get_text_embedding("Hello World!")
print(len(embeddings))
print(embeddings[:5])
使用指令嵌入模型
如果希望嵌入向量能够根据指令进行调整,可以使用指令嵌入模型:
from llama_index.embeddings.instructor import InstructorEmbedding
embed_model = InstructorEmbedding(model_name="hkunlp/instructor-base")
# 获取文本的嵌入向量
embeddings = embed_model.get_text_embedding("Hello World!")
print(len(embeddings))
print(embeddings[:5])
使用 Optimum 库创建 ONNX 模型
Optimum 是一个用于导出和运行 HuggingFace 模型的库,支持 ONNX 格式。以下是创建和使用 ONNX 模型的示例代码:
from llama_index.embeddings.</