欢迎光临
我们一直在努力

40_Spring AI 干货笔记之 Transformers (ONNX) 嵌入

一、Transformers (ONNX) 嵌入

TransformersEmbeddingModel 是一个 EmbeddingModel 实现,它使用选定的 句子转换器 在本地计算 句子嵌入。

您可以使用任何 HuggingFace 嵌入模型。

它使用 预训练 的 Transformer 模型,这些模型已序列化为 开放神经网络交换(ONNX) 格式。

应用 Deep Java Library 和 Microsoft ONNX Java 运行时库来运行 ONNX 模型并在 Java 中计算嵌入。

二、先决条件

要在 Java 中运行,我们需要将分词器和 Transformer 模型序列化为 ONNX 格式。

使用 optimum-cli 序列化 – 一种快速实现此目的的方法是使用 optimum-cli 命令行工具。以下代码片段准备了一个 Python 虚拟环境,安装所需的包,并使用 optimum-cli 序列化(例如导出)指定的模型:

python3 -m venv venv
source ./venv/bin/activate
(venv) pip install –upgrade pip
(venv) pip install optimum onnx onnxruntime sentence-transformers
(venv) optimum-cli export onnx –model sentence-transformers/all-MiniLM-L6-v2 onnx-output-folder

该代码片段将 sentence-transformers/all-MiniLM-L6-v2 转换器导出到 onnx-output-folder 文件夹中。后者包含嵌入模型使用的 tokenizer.json 和 model.onnx 文件。

您可以选择任何 HuggingFace 转换器标识符或直接提供文件路径来替代 all-MiniLM-L6-v2。

三、自动配置

Spring AI 的自动配置和 starter 模块的工件名称发生了重大变化。更多信息请参阅 升级说明。

Spring AI 为 ONNX Transformer 嵌入模型提供了 Spring Boot 自动配置。要启用它,请将以下依赖项添加到项目的 Maven pom.xml 文件中:

<dependency>
<groupId>org.springframework.ai</

赞(0)
未经允许不得转载:171主机测评 » 40_Spring AI 干货笔记之 Transformers (ONNX) 嵌入
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址