new AllMiniLmL6V2EmbeddingModel(); 相关方法介绍

java 复制代码
private float[] langchain4jEmbedding(String text) {
        try {
            EmbeddingModel model = new AllMiniLmL6V2EmbeddingModel();
            Response response = model.embed(text);
            return response.content().vector();
        } catch (Exception e) {
            log.error("LangChain4j embedding 失败: {}", e.getMessage());
            return mockEmbedding(text);
        }
    }

整体一句话总结

输入一段文本 text,使用 LangChain4j 内置的 All‑MiniLM‑L6‑v2 本地ONNX模型 ,把文字转换成浮点型向量数组(float\[\])

如果中间出现任何异常,打印错误日志,返回一段模拟的假向量作为降级兜底,不让程序崩溃。

逐行拆解

复制代码
private float[] langchain4jEmbedding(String text) {

私有方法,接收字符串文本,返回浮点向量数组,向量就是文本的数字语义表示(RAG知识库检索用)

复制代码
EmbeddingModel model = new AllMiniLmL6V2EmbeddingModel();
  1. AllMiniLmL6V2EmbeddingModel:LangChain4j自带的本地Embedding模型(all‑MiniLM‑L6‑v2)
  2. 不需要调用OpenAI/远程大模型接口,本地运行ONNX,不上传文本到外网>

⚠️注意:第一次new对象时,程序会自动从网络下载onnx模型缓存到本地,断网首次运行会报错。如果你已经手动下载模型文件,可以改成本地加载方式。

复制代码
Response<Embedding> response = model.embed(text);
  • model.embed(text)文本向量化

  • 模型读取文字,分析语义,生成Embedding(嵌入向量)

  • 返回的Response<Embedding>封装了向量+一些元信息

    return response.content().vector();

  • response.content()拿到Embedding对象

  • .vector()取出float[]浮点数组,也就是最终向量>

后续用途:存入Milvus向量库、做相似度比对,实现文档检索(RAG)

复制代码
catch (Exception e) {
    log.error("LangChain4j embedding 失败,降级使用 mock: {}", e.getMessage());
    return mockEmbedding(text);
}

容错降级逻辑

只要向量化抛出异常(常见场景:

首次启动无法下载onnx模型、模型文件损坏、内存不足、文件权限问题等)

  1. 打印error日志记录原因
  2. 调用mockEmbedding(text)返回假的占位向量,避免接口抛出异常中断业务流程

典型适用场景(RAG)

  1. 文档切片后,调用此方法生成向量存入Milvus
  2. 用户提问时,问题文本调用此方法得到向量
  3. 使用向量在Milvus中做相似度检索,找到语义最接近的文档片段
相关推荐
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ5 天前
model.onnx、tokenizer.json 文件介绍
springai
zhuodedao5 天前
Spring AI + MCP 文件工具未调用问题复盘:为什么初始化成功却没有写入文件?
java·debug·agent·springai·mcp
莫逸风22 天前
【AgentScope 2.0】10-总结回顾详解
java·ai·agent·springai·agentscope
番茄炒鸡蛋加糖24 天前
主流 AI 框架 + RAG 落地实战
人工智能·rag·springai
Joy T1 个月前
Agent 开源项目全景解析(下):LlamaIndex、Dify、FastGPT 与真实工程选型
langchain·开源·框架·agent·springai·langgraph·mcp
MinggeQingchun1 个月前
AI - Java之Spring AI Alibaba
ai·springai·springaialibaba
莫逸风1 个月前
【AgentScope 2.0】05-文件系统(Filesystem)详解
java·ai·agent·springai·agentscope
周航宇JoeZhou1 个月前
JP3-2-3-MyItem智能业务
java·多智能体·rag·智能体·springai·mcp·skills
佛祖让我来巡山1 个月前
SpringAI保姆级实战教程
spring ai·springai·springai教程·springai入门