You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Spring AI加载本地的ONNX格式intfloat/multilingual-e5-large嵌入模型

如何使用Spring AI加载本地的ONNX格式intfloat/multilingual-e5-large嵌入模型

嘿,我来帮你搞定这个问题!你之前遇到的加载失败其实是没找对Spring AI加载本地ONNX模型的正确姿势,它完全支持本地模型加载的,下面我一步步给你拆解操作:

一、先确认本地模型的文件结构

首先得确保你本地下载的模型文件是完整的,目录里得包含Spring AI需要的所有核心文件,大概结构应该是这样的:

你的本地模型根目录/
├── tokenizer.json
├── vocab.txt
└── onnx/
    └── model.onnx  # 就是你下载的那个ONNX模型文件

要是缺了tokenizer相关的配置文件,Spring AI肯定初始化失败,所以先仔细检查一遍文件齐不齐。

二、用配置类正确初始化模型

别再用远程URL来配置了,直接指向本地的模型目录就行。你可以写一个配置类来注册模型Bean,代码示例如下:

import org.springframework.ai.transformers.TransformersEmbeddingModel;
import org.springframework.ai.transformers.api.TransformersEmbeddingOptions;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class LocalEmbeddingConfig {

    // 这里填你本地模型根目录的绝对路径或者相对路径,比如"../local-models/multilingual-e5-large-onnx"
    @Value("${local.embedding.model.path}")
    private String localModelRootPath;

    @Bean
    public TransformersEmbeddingModel localEmbeddingModel() {
        // 配置模型和tokenizer的路径,因为都在同一个目录,所以直接指向根目录就行
        TransformersEmbeddingOptions options = new TransformersEmbeddingOptions()
                .setModelId(localModelRootPath)
                .setTokenizerId(localModelRootPath);
        
        return new TransformersEmbeddingModel(options);
    }
}

三、配置文件里指定本地路径

在你的application.properties或者application.yml里加上本地模型的路径配置,比如:

# application.properties
local.embedding.model.path=你的本地模型根目录的路径(绝对/相对都可以)

四、几个要注意的坑

  • Spring AI版本要够新:如果是比较老的版本,对本地ONNX模型的支持可能有问题,建议升级到最新的稳定版,避免版本兼容问题。
  • 路径别写错:绝对路径要写全,相对路径要注意是相对于项目的根目录,别把路径写错导致找不到文件。
  • 文件权限要够:确保你的应用程序有读取本地模型文件的权限,不然会报权限错误。

这样配置之后,Spring AI就能正确加载你本地的ONNX格式multilingual-e5-large模型了,你可以正常用它来生成文本嵌入了。

备注:内容来源于stack exchange,提问作者jirka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 09:10:32