Spring AI 模块化 RAG 与 TypeSafe Jev:检索更多,只保留有用的
这件事讲了什么
Spring AI 社区发布了一个模块化 RAG 示例,把 TypeSafe 的 Jev 模型接入检索增强生成流程。传统做法直接把用户问题和相似文档片段塞给模型,问题在于用户口语化提问会带入噪音、相似文档未必有用、检索内容可能被人恶意植入指令。新方案在检索前用两次大模型调用改写并扩展问题,检索后用 JevDocumentFilter 和 JevDocumentReranker 过滤、重排文档,再交给模型生成答案。整套流程通过一个 advisor builder 配置,配套有可运行的 05-1-modular-rag 示例模块,方便与朴素版本对比。需要 TypeSafe API Key,过滤和重排依赖 Jev 模型。
可以使用的工具
文中可用工具
- Spring AI构建 RAG 管道的 Java 框架
- TypeSafe提供类型化输入输出和 Jev 模型
- JevDocumentFilter过滤检索到的无用文档片段
- JevDocumentReranker对检索结果重新排序并保留前几条
- RetrievalAugmentationAdvisor模块化 RAG 的 advisor 入口
- RewriteQueryTransformer把口语化问题改写成适合检索的查询
- MultiQueryExpander把一个查询扩展成多个不同查询
- VectorStoreDocumentRetriever从向量库中做相似度检索
- ContextualQueryAugmenter把上下文和问题拼进提示词
- PagePdfDocumentReader读取 PDF 文档用于入库
- TokenTextSplitter把文档切分成小块
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。