第十七章 百炼 RAG 知识库应用版本标注Spring AI:1.1.2Spring AI Alibaba:1.1.2.0章节定位本章介绍的是阿里云提供的托管式知识库检索能力也就是把文档管理、索引构建和知识库维护交给云平台。相比自建VectorStoreRAG这条路线更适合快速接入和企业场景。s01 s02 s03 s04 s05 s06 s07 s08 s09 s10 s11 s12 s13 s14 s15 s16 [ s17 ] s18知识库不是把资料存进去就结束, 而是要让检索真正参与回答-- 百炼 RAG 的价值在于把专有知识接进模型。一、什么是百炼 RAG1.1 自建 RAG vs 百炼 RAG我们在第12章学习的 RAG需要自己准备文档数据切分文本向量化存储到向量数据库配置检索和生成阿里云百炼 RAG提供一站式服务阿里云帮你管理文档自动向量化自动索引优化只需调用 API 即可检索1.2 百炼 RAG 的优势对比项自建 RAG百炼 RAG部署维护需要自己维护阿里云全托管文档管理需要自己处理可视化管理索引优化需要调优自动优化安全性取决于自身企业级安全成本服务器运维按调用量付费二、核心概念与 API2.1 DashScopeDocumentRetrieverSpring AI Alibaba 提供了DashScopeDocumentRetriever用于连接阿里云百炼知识库// 创建百炼文档检索器 DocumentRetriever retriever new DashScopeDocumentRetriever( dashScopeApi, // 阿里云API客户端 options // 配置选项知识库名称等 );2.2 核心配置参数// 关键配置知识库名称 DashScopeDocumentRetrieverOptions options DashScopeDocumentRetrieverOptions.builder() .withIndexName(ops) // 知识库名称 // .withTopK(3) // 返回3个最相似的结果 // .withScoreThreshold(0.7f) // 相似度阈值 .build();三、项目代码详解3.1 配置类DashScopeConfig这一章能跑起来关键在于先把DashScopeApi、ChatModel、ChatClient配好。BailianRagController只是使用这些 Bean。import com.alibaba.cloud.ai.dashscope.api.DashScopeApi; import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatModel; import com.alibaba.cloud.ai.dashscope.chat.DashScopeChatOptions; import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.chat.model.ChatModel; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; Configuration public class DashScopeConfig { Value(${spring.ai.dashscope.api-key}) private String apiKey; private final String DEEPSEEK_MODEL deepseek-v3; Bean public DashScopeApi dashScopeApi() { return DashScopeApi.builder() .apiKey(apiKey) .build(); } Bean public ChatModel deepSeek(DashScopeApi dashScopeApi) { return DashScopeChatModel.builder() .dashScopeApi(dashScopeApi) .defaultOptions( DashScopeChatOptions.builder().withModel(DEEPSEEK_MODEL).build() ) .build(); } Bean public ChatClient chatClient(ChatModel dashscopeChatModel) { return ChatClient.builder(dashscopeChatModel).build(); } }这段配置的作用是dashScopeApi()创建百炼 API 客户端。deepSeek(...)指定本章使用的聊天模型deepseek-v3。chatClient(...)给控制器提供统一的调用入口。3.2 application.yml与配置类对应DashScopeConfig依赖spring.ai.dashscope.api-key所以配置文件里至少要有spring: ai: dashscope: api-key: ${DASHSCOPE_API_KEY}你当前项目里的Saa17还能看到redis配置但本章这条百炼托管知识库链路里并不依赖本地VectorStore因此核心仍然是上面的dashscope.api-key与知识库名称。3.3 百炼 RAG 控制器import com.alibaba.cloud.ai.advisor.DocumentRetrievalAdvisor; import com.alibaba.cloud.ai.dashscope.api.DashScopeApi; import com.alibaba.cloud.ai.dashscope.rag.DashScopeDocumentRetrievalAdvisor; import com.alibaba.cloud.ai.dashscope.rag.DashScopeDocumentRetriever; import com.alibaba.cloud.ai.dashscope.rag.DashScopeDocumentRetrieverOptions; import jakarta.annotation.Resource; import org.springframework.ai.chat.client.ChatClient; import org.springframework.ai.document.DocumentReader; import org.springframework.ai.rag.retrieval.search.DocumentRetriever; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import reactor.core.publisher.Flux; /** * 百炼RAG知识库控制器 * 展示如何调用阿里云百炼知识库服务 */ RestController public class BailianRagController { Resource private ChatClient chatClient; Resource private DashScopeApi dashScopeApi; GetMapping(/bailian/rag/chat) public FluxString chat(RequestParam(name msg, defaultValue 00000错误信息) String msg) { DocumentRetriever retriever new DashScopeDocumentRetriever(dashScopeApi, DashScopeDocumentRetrieverOptions.builder() .withIndexName(ops) .build() ); return chatClient.prompt() .user(msg) .advisors(new DocumentRetrievalAdvisor(retriever)) .stream() .content(); } }控制器里的执行顺序可以概括为用DashScopeDocumentRetriever指定知识库ops。用DocumentRetrievalAdvisor把检索能力接入对话链路。ChatClient在生成回答前先检索再把检索结果注入模型上下文。四、知识库创建阿里云平台4.1 创建流程要在阿里云百炼平台使用RAG需要登录阿里云百炼控制台创建知识库选择文档类型PDF、Word、TXT等上传文档等待向量化完成获取 API Key 和知识库名称在代码中配置使用4.2 支持的文档格式格式说明PDF文档型Word (.docx)文档型TXT文本型HTML网页型Markdown文本型五、本章小结5.1 核心概念概念说明DashScopeDocumentRetriever阿里云知识库文档检索器DashScopeDocumentRetrieverOptions检索器配置选项DocumentRetrievalAdvisor文档检索增强组件知识库名称百炼平台创建的知识库标识5.2 使用流程1. 在阿里云百炼平台创建知识库、上传文档 2. 在application.yml配置API Key 3. 创建DashScopeDocumentRetriever并指定知识库名称 4. 注册DocumentRetrievalAdvisor 5. ChatClient自动完成检索生成5.3 自建RAG vs 百炼RAG对比特性自建RAG百炼RAG部署Docker/K8S阿里云托管文档管理需代码实现平台可视化索引优化手动调参自动优化数据安全自行保证企业级保障适用场景定制化强快速上手TIP什么时候选百炼知识库路线如果你的目标是快速搭建知识库问答而不想自己维护向量库、切分流程和索引细节那么百炼知识库路线会更省事。1. 运维成本自建RAG需要向量数据库维护分词/向量化服务索引优化7x24监控百炼RAG开箱即用零运维2. 检索链路更省心自建RAG效果依赖算法调优需要专业知识百炼知识库平台已经把文档管理、索引和检索流程集成好了3. 安全合规企业敏感数据如何存储自建需要额外安全措施百炼RAG阿里云提供完善的数据安全合规认证4. 扩展性自建RAG要根据业务增长扩容向量数据库百炼RAG按量付费弹性伸缩但如果你的业务有特殊需求如完全私有化部署、特定分词规则自建RAG仍然是更好的选择。本章重点理解百炼RAG服务的优势掌握DashScopeDocumentRetriever的用法能够在代码中集成阿里云知识库下章剧透s18学会了阿里云百炼RAG后最后一章我们将学习 Agent智能体——结合所有技术构建真正的AI应用编辑者Flittly更新时间2026年4月相关资源阿里云百炼RAG文档