☰
JAVA25+Spring Boot 4.1.0 +Spring AI 2.0.1 向量数据库milvus 加载本地embeddings模型bge-m3
2026/11/5 1:59:19 网站建设 项目流程

前置文章:
Java 25 + Spring Boot 4.1.0 + Spring AI 2.0.1 调用 DeepSeek 模型

前言

Embeddings 模型是文本、图像或视频的数值表示,它捕捉输入之间的关系。

Embeddings 模型的工作原理,是把文本、图像或视频转换为浮点数数组,也就是向量。这些向量用于刻画文本、图像或视频的语义,而嵌入数组的长度被称为向量的维度。
通过计算两段文本的向量表示之间的数值距离,应用程序可以确定用于生成嵌入向量的对象之间的相似性。

Embeddings 模型是使用向量数据库的前提条件。
Spring AI 官网 Embeddings Model

本文在前置文章的基础上进一步扩展,讲解如何在项目中使用 Spring AI 加载本地 Embeddings 模型 bge-m3。

一、Maven 引入:

<!-- Spring AI Transformers Starter (ONNX 嵌入模型自动配置) --><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-starter-model-transformers</artifactId></dependency>

二、添加 application.yml 配置

#spring配置spring:# ==================== Spring AI 配置 ====================ai:# ========== 密集量化模型配置 ==========model:embedding:transformers# 是否启用嵌入模型,值 transformers 或 noneembedding:transformer:onnx:modelUri:"file:E:/ai-model/modelscope/BAAI/bge-m3/onnx/model.onnx"# 如果有 model.onnx_data文件,必须放到项目目录下,运行jar通目录下modelOutputName:token_embeddings# ONNX 模型的输出节点名称(不同模型设置不相同)tokenizer:uri:"file:E:/ai-model/modelscope/BAAI/bge-m3/onnx/tokenizer.json"# 指定分词器文件路径

注意:如果 Embeddings 模型目录中存在 model.onnx_data 文件,开发环境下必须将其放到项目的顶级目录下;生产环境下必须将其放到运行 jar 应用程序的同级目录下。

三、下载 Embeddings 模型

bge-m3 模型 下载

四、总结

本文围绕 Spring AI 加载本地 Embeddings 模型 bge-m3 的完整流程做了梳理,核心可以归纳为三步:

  • 引入依赖:通过spring-ai-starter-model-transformers引入 ONNX 嵌入模型的自动配置能力,无需额外编写加载逻辑。
  • 配置模型路径:在application.yml中指定model.onnx、tokenizer.json的本地路径,并设置 ONNX 输出节点名称token_embeddings。
  • 准备模型文件:从魔搭社区下载 bge-m3 模型,并注意model.onnx_data文件在开发环境与生产环境下的放置位置差异。

完成以上配置后,Spring AI 会自动装配EmbeddingModel,即可在项目中直接注入使用,为后续的向量检索、语义搜索与 RAG 应用打下基础。相比调用远程 Embedding 接口,本地模型方案无需联网、数据不出内网,更适合对隐私和成本敏感的场景;代价则是需要自行管理模型文件与内存占用,部署时应结合机器资源合理规划。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询