Spring AI Alibaba 提供了构建 RAG 系统的核心组件和模块化架构:
// ETL Pipeline 组件
import org.springframework.ai.document.Document;
import org.springframework.ai.reader.DocumentReader; // 文档读取器
import org.springframework.ai.transformer.DocumentTransformer; // 文档转换器(如文本分割)
import org.springframework.ai.transformer.splitter.TokenTextSplitter;
import org.springframework.ai.vectorstore.VectorStore; // 向量存储(DocumentWriter)
// 嵌入模型
import org.springframework.ai.embedding.EmbeddingModel;
import org.springframework.ai.embedding.EmbeddingRequest;
import org.springframework.ai.embedding.EmbeddingResponse;
// 模块化 RAG 组件 - Pre-Retrieval
import org.springframework.ai.rag.query.transformer.QueryTransformer;
import org.springframework.ai.rag.query.transformer.RewriteQueryTransformer;
import org.springframework.ai.rag.query.transformer.CompressionQueryTransformer;
import org.springframework.ai.rag.query.transformer.TranslationQueryTransformer;
import org.springframework.ai.rag.query.expander.QueryExpander;
import org.springframework.ai.rag.query.expander.MultiQueryExpander;
// 模块化 RAG 组件 - Retrieval
import org.springframework.ai.rag.retriever.DocumentRetriever;
import org.springframework.ai.rag.retriever.VectorStoreDocumentRetriever;
import org.springframework.ai.rag.document.join.DocumentJoiner;
import org.springframework.ai.rag.document.join.ConcatenationDocumentJoiner;
// 模块化 RAG 组件 - Post-Retrieval
import org.springframework.ai.rag.postprocessor.DocumentPostProcessor;
// 模块化 RAG 组件 - Generation
import org.springframework.ai.rag.query.augmenter.QueryAugmenter;
import org.springframework.ai.rag.query.augmenter.ContextualQueryAugmenter;
// Advisor API(开箱即用的 RAG 流程)
import org.springframework.ai.chat.advisor.vectorstore.QuestionAnswerAdvisor;
import org.springframework.ai.rag.RetrievalAugmentationAdvisor;
// ChatModel 和 Agent
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.chat.client.ChatClient;
import com.alibaba.cloud.ai.graph.agent.ReactAgent;
// 工具(用于 Agentic RAG)
import org.springframework.ai.tool.ToolCallback;
import org.springframework.ai.tool.function.FunctionToolCallback;
模块化 RAG 架构
Spring AI 实现了模块化 RAG 架构,支持灵活的组件组合:
- Pre-Retrieval(检索前):查询转换(重写、压缩、翻译)、查询扩展(多查询扩展)
- Retrieval(检索):文档搜索、文档连接
- Post-Retrieval(检索后):文档后处理(重排序、去重、压缩)
- Generation(生成):查询增强、上下文注入
这种模块化设计允许你根据需求灵活组合不同的组件,构建适合特定场景的 RAG 流程。详细说明请参考 Retrieval Augmented Generation 模块文档。
Agent Framework
- Tools – 创建检索工具
- Agents – 构建 Agentic RAG
- Memory – 对话记忆管理
- Multi-Agent – 多 Agent 协作
RAG 组件
- Retrieval Augmented Generation – RAG API 和模块化架构
- ETL Pipeline – 数据提取、转换和加载
- Document Readers – 文档加载器实现
- Document Parsers – 文档解析器实现
- Embeddings – 嵌入模型 API
- Vector Databases – 向量数据库集成
本文整理自 Spring AI Alibaba 官方文档《检索增强生成 RAG》:https://java2ai.com/docs/frameworks/agent-framework/advanced/rag

AI项目博客






