Redis的vectorStore.add(documents) 方法会自动完成两个步骤

不需要手动写 @Configuration@Bean 来注入 EmbeddingModelVectorStore —— 只要引入了正确的 Starter 并配置好 application.yml,Spring Boot 会自动为您完成这一切。

因为引入了spring-ai-alibaba-starter-dashscope,这是一个Starter的依赖,他会自动读取配置文件中的配置然后配置到EmbeddingModel 中,从而代码可以直接通过@AutoWired或者@Resource注入直接使用

vectorStore.add(documents) 方法会自动完成两个步骤:

  1. 将文本内容(Document)转换为向量(embedding)
  2. 将向量和原文一起存入 Redis

所以您只需要传入“原始文本”,不需要手动先调用 embeddingModel


🔍 详细解析:vectorStore.add() 到底做了什么?

我们来一步步拆解:

vectorStore.add(documents);

这行代码的背后,Spring AI 实际上执行了以下流程:

[文本]  -->  [向量化]  -->  [存储]
          ↑
     embeddingModel

✅ 第一步:自动调用 EmbeddingModel 向量化

VectorStore 内部持有一个 EmbeddingModel 的引用(通过依赖注入),当您调用 .add() 时:

  • 它会自动使用注入的 embeddingModel 对每个 Document 的内容进行向量化
  • 生成对应的向量(浮点数数组)
  • 不需要您手动调用 embeddingModel.call(...)

✅ 第二步:将“原文 + 向量”一起存入 Redis

存储的数据结构通常是这样的:

字段
content i study LLM (原始文本)
embedding [0.12, -0.45, 0.67, ..., 0.89] (向量)
id 自动生成的唯一 ID
metadata 可选元数据(如来源、时间等)

这样做的好处是:

  • 检索时能拿到原始文本
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值