不需要手动写
@Configuration和@Bean来注入EmbeddingModel或VectorStore—— 只要引入了正确的 Starter 并配置好application.yml,Spring Boot 会自动为您完成这一切。因为引入了spring-ai-alibaba-starter-dashscope,这是一个Starter的依赖,他会自动读取配置文件中的配置然后配置到
EmbeddingModel中,从而代码可以直接通过@AutoWired或者@Resource注入直接使用
vectorStore.add(documents)方法会自动完成两个步骤:
- 将文本内容(
Document)转换为向量(embedding)- 将向量和原文一起存入 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 |
可选元数据(如来源、时间等) |
这样做的好处是:
- 检索时能拿到原始文本

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



