拆解腾讯开源知识库WeKnora学RAG:多路RRF融合召回排序Chunk合并策略
在进入正题之前先理清两个基础概念 RAG系统中的召回最常见的两条路是向量检索和BM25关键词检索向量检索把文本编码成高维向量用余弦相似度之类的度量找语义最接近的chunkBM25是经典的关键词匹配算法按词频和逆文档频率打分精确匹配能力强。各有擅长向量捕捉同义、近义表达BM25锁定专有名词和精确术语在RAG系统中这两种经常一起使用。但是问题在于这两条路给出的分数度量标准完全不同无法直接加减比较。RRF不看原始分数只看排名一个chunk在某个检索通道里排名越靠前贡献的权重就越大。方式是把每个通道的1/(k rank)加起来作为最终得分其中rank是该chunk在当前通道的排名k是平滑常数默认60防止排名靠前的chunk权重过大。这样不同检索通道的结果不需要对齐尺度就能直接比较多个列表合并成一份统一排序甚至知识图谱之类的结果也可以纳入进来一起计算。WeKnora的召回机制有5个关键环节多路并行向量检索和BM25关键词检索并行执行结果用RRF倒数排名融合融合排名路径分叉FAQ问答对类型和文档类型走不同的召回路径FAQ只入向量库统一重排所有召回结果用重排序模型rerank重打分有阈值过滤上下文拼装8步合并流水线子块映射找回父块、相邻块扩展、FAQ答案回填等机制引用回查保留位置信息问答中支持回查原始文档召回多路融合与重排多库扇出再统一融合检索时系统按存储后端分组VectorStoreID TenantID同一存储后端的多个知识库在一次请求里不同存储后端分别请求。为什么要分组因为它的不同知识库可能使用不同的向量库Elasticsearch/Milvus/PostgresSQL等等都有可能。所以你建库的时候可以选择分组完成后各组并发执行检索上限4组并发每组30秒超时。每个分组内部支持两条并行通道向量语义检索在向量索引里做近邻搜索。支持多种底层引擎PostgreSQLpgvector、Elasticsearch、Milvus、Qdrant、Weaviate、SQLitesqlite-vec、腾讯向量数据库、Doris、OpenSearch等。BM25关键词检索用原始查询文本做关键词匹配只对文档知识库生效FAQ不参与。两条通道的结果用RRF倒数排名融合合并。除此之外对话中还可以并行挂接Web搜索和知识图谱实体检索这类独立分支但它们不进入RRF。FAQ和文档在召回层分叉执行WeKnora有两条平行的数据入库路径文档路径文件上传→解析→分片→向量化→入库FAQ路径问答对直接创建→向量化→入库跳过解析和分片FAQ知识库的每条记录是一组QA问答对标准问题、相似问题、反例问题和答案。数据入口有三种在Web UI中单条创建通过API批量导入通过CSV导入8列格式分类、标准问、相似问、反例问、答案、是否全部回复、是否停用、是否禁止推荐多值用##分隔批量导入支持append追加按标准问/相似问做问题级去重校验和replace按内容哈希比对差异并同步计算新增、替换和删除两种模式。FAQ数据只参与向量语义检索不参与关键词检索。向量化有两种内容模式question_only模式只编码标准问和相似问答案不进向量但存入chunk元数据命中后从元数据取出question_answer模式则把问题和答案一起编码。两种模式都是以问题召回为主但在question_answer模式下答案文本也会参与向量表示影响相似度分布索引有两种模式combined模式把标准问和相似问合并为一个向量separate模式为每个问题创建独立向量首次检索后如果去重后的唯一FAQ chunk仍少于用户请求的matchCount而且首轮向量召回已经打满初始over-retrieval上限系统会启动迭代检索TopK从matchCount×3开始每轮翻倍最多5轮。每轮还会过滤命中反例问题的chunk反例问题在导入时由用户标注检索时做精确匹配排除。向量和关键词结果用RRF融合WeKnora用的是加权RRFWeighted RRF在基础公式上为每个通道分配不同权重score vector_weight / (rrf_k vector_rank) keyword_weight / (rrf_k keyword_rank)默认参数rrf_k 60vector_weight 0.7keyword_weight 0.3。向量权重占主导但关键词排名极好第1名的chunk也能靠第二项拉回来。举个例子chunk A向量排名第1关键词排名第5 → 0.7/(601) 0.3/(605) 0.01148 0.00462 0.01610 chunk B向量排名第3关键词排名第1 → 0.7/(603) 0.3/(601) 0.01111 0.00492 0.01603 chunk C向量排名第2关键词没出现 → 0.7/(602) 0 0.01129当只有向量结果时按分数去重同时存在向量和关键词时才会进入RRF。另外如果开启了知识图谱则图谱检索走的是独立的query_knowledge_graph工具由agent按需调用不进入主检索管线的RRF融合。重排直接加载、打分与降阈值重试RRF融合完成后所有候选结果进入重排序阶段。重排序先把直接加载的结果摘出来不送进重排序模型。用户在对话时可以通过提及或API参数knowledge_ids指定某些知识文件系统会尝试直接从数据库加载这些文件的chunk如果总量不超过50个就跳过语义搜索直接带入后续流程初始分数就是1.0。超出上限的文件则回退到正常检索路径。其余候选统一交给重排序模型重新打分。打完分后只保留分数≥阈值的结果。如果原始阈值高于0.3且没有结果通过系统会把阈值乘以0.7再筛一次最低不低于0.3。如果降阈值后仍然没有结果通过但top-1的分数不低于0.15系统会把这个结果保留下来作为兜底。重排序模型的阈值需要根据实际数据调整降阈值重试是一种兜底机制。合并拼出最终上下文重排序之后还有一轮8步的合并merge流水线把多个来源的结果拼成最终上下文。几个关键参数历史引用注入基于Jaccard相似度阈值≥0.15最多3条分数打6折短chunk低于350字符沿前驱和后继双向扩展上限850字符最终按chunk ID、内容签名和重叠区间做去重。第3步的映射逻辑按chunk类型分两条路径文本子块映射到父块时系统保留父块的全部文本但会移除匹配区间之外的Markdown图片链接文本不动只清理无关图片。匹配区间就是子块在文档中的StartAt到EndAt。大模型需要周围文本理解语境但不需要看到不相关页面的缩略图图片子块image_ocr/image_caption走链式解析先找到text父块再找parent_text祖父块。如果祖父块存在就从祖父块的content中切出text父块覆盖的范围。文本也被裁剪因为图片信息已经通过ImageInfo单独提供了送进模型的上下文此时已经过文档关系重组和上下文扩展处理了。引用回查每个检索结果保留知识ID、chunk ID、起止位置和可能的父块关系。引用信息就依靠这些位置信息回查原始文档。在回答前系统把这些引用信息一起装到上下文中这样AI在回答结果中可以标注引用信息。最后上面我们详细分析了WeKnora的召回策略和具体的实现路径结合前篇的分片策略这样RAG知识库中的核心组件基本就讲完了。WeKnora的这些实现细节已经相当完善了甚至系统还自带了知识图谱这两篇文章没有展开来写。在RAG开发中参考这套分片和召回策略基本就够用了你甚至可以直接把这两篇文站丢给AI出详细的PLAN/SPEC直接落地。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

规范驱动开发_AI编码 Agent 规范比较研究

规范驱动开发_AI编码 Agent 规范比较研究

摘要 随着 AI 编码代理逐渐进入软件工程实践,开发者与团队开始从“临时提示词驱动”转向“规范驱动开发”(Specification-Driven Development, SDD)。在这一转向中,CLAUDE.md、Cursor Rules、AGENTS.md / AGENT.md、Kiro Specs 与…

2026/7/14 3:53:49阅读更多 →
AI Agent 如何真正进入信贷业务流程?

AI Agent 如何真正进入信贷业务流程?

上千笔贷款申请涌进来。 每一笔单独看都挑不出毛病:身份验证通过,手机号验证通过,银行卡验通过,评分也不差。 但其中几十个人——姓名不同、身份证不同、手机号也不同,表面上毫不相关——其实是同一个团伙。 它没有…

2026/7/14 3:53:49阅读更多 →
MCP3551与PIC24FJ256GB210的高精度ADC系统设计与优化

MCP3551与PIC24FJ256GB210的高精度ADC系统设计与优化

1. MCP3551与PIC24FJ256GB210的硬件架构解析MCP3551是Microchip公司推出的一款22位Δ-Σ型模数转换器(ADC),采用单电源供电(2.7V-5.5V),内置低噪声可编程增益放大器(PGA)和片上振荡器。其核心特性包括:22位有效分辨率&…

2026/7/14 3:53:49阅读更多 →
AI骨骼绑定工具UniRig:3分钟实现3D角色智能绑定与动画制作

AI骨骼绑定工具UniRig:3分钟实现3D角色智能绑定与动画制作

1. 项目概述:当AI遇见骨骼绑定,3D动画的“工业革命”如果你和我一样,在3D动画制作这条路上摸爬滚打过几年,那你一定对“骨骼绑定”这四个字又爱又恨。爱的是,它是赋予模型灵魂、让静态角色“活”起来的关键一步&#x…

2026/7/14 17:45:46阅读更多 →
ChatGPT话术点击率暴跌?揭秘直播间用户注意力衰减曲线与4.8秒话术锚点设计法则

ChatGPT话术点击率暴跌?揭秘直播间用户注意力衰减曲线与4.8秒话术锚点设计法则

更多请点击: https://codechina.net 第一章:ChatGPT话术点击率暴跌?揭秘直播间用户注意力衰减曲线与4.8秒话术锚点设计法则 直播场景中,用户平均停留时长正以毫秒级速度坍塌——眼动追踪实验显示,73.6%的观众在进入直…

2026/7/14 17:45:46阅读更多 →
Ollama API接口详解(含v0.3.0最新参数全谱+响应码深度解读)

Ollama API接口详解(含v0.3.0最新参数全谱+响应码深度解读)

更多请点击: https://codechina.net 第一章:Ollama API接口详解(含v0.3.0最新参数全谱响应码深度解读) Ollama v0.3.0 提供了一套轻量、RESTful 的 HTTP API,专为本地大模型推理服务设计,所有端点均以 /a…

2026/7/14 17:45:46阅读更多 →
STM32与PAM8904实现智能蜂鸣器系统设计

STM32与PAM8904实现智能蜂鸣器系统设计

1. 项目背景与硬件选型考量 在工业控制、智能家居和医疗设备等领域,可靠的通知系统是保障设备安全运行的关键组件。传统的有源蜂鸣器方案虽然简单,但存在音调单一、音量不可调等明显缺陷。我们选择的STM32F437ZG微控制器搭配PAM8904音频驱动芯片的方案&a…

2026/7/14 17:45:46阅读更多 →
【信息科学与工程学】【数据科学】数据科学领域——第十篇 代数 03 抽象代数03

【信息科学与工程学】【数据科学】数据科学领域——第十篇 代数 03 抽象代数03

编号 类型 领域 子领域 问题 问题的数学分析(含抽象代数方程式) 常数/参数及范围 关联知识 抽象代数意义 1270 理论问题 群论 Sylow定理 有限群的Sylow子群的存在性与共轭 设 G是有限群,( G = p^a m),p∤m。则存在Sylow p-子群 P≤G,且所有Sylow p-子群共…

2026/7/14 17:45:46阅读更多 →
微信聊天记录永久保存完整指南:用开源工具守护你的数字记忆

微信聊天记录永久保存完整指南:用开源工具守护你的数字记忆

微信聊天记录永久保存完整指南:用开源工具守护你的数字记忆 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/…

2026/7/14 17:40:45阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/14 4:56:14阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/14 2:55:05阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/14 6:17:41阅读更多 →
【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

【Cursor数据库安全红线】:自动执行SQL前必须校验的6项权限策略,金融级项目已强制落地

更多请点击: https://intelliparadigm.com 第一章:Cursor数据库安全红线概览 Cursor 作为一款基于 AI 的智能编程助手,其本地数据库(SQLite 存储)承载着用户代码片段、会话历史、自定义规则及敏感上下文信息。理解其安…

2026/7/14 0:03:18阅读更多 →
【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

【Notion AI写作避坑白皮书】:基于127份真实用户失败案例,总结6大致命误用陷阱

更多请点击: https://codechina.net 第一章:Notion AI写作辅助的底层能力边界认知 Notion AI 并非通用大语言模型的直接封装,而是基于 Llama 系列与自研微调模型构建的轻量化推理服务,其输入上下文窗口严格限制在 8192 token&…

2026/7/14 0:03:18阅读更多 →
AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

AI Agent数据越界行为如何被精准溯源?——基于GDPR/CCPA双合规的5层审计框架实战指南

更多请点击: https://kaifayun.com 第一章:AI Agent数据越界行为的合规性挑战与溯源必要性 AI Agent在自主执行任务过程中,可能因提示注入、上下文污染或权限配置缺陷,无意或有意访问、缓存、传输受保护数据(如PII、G…

2026/7/14 0:03:18阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/14 15:07:30阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/14 4:45:36阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/14 2:42:17阅读更多 →