01-从第一性原理理解RAG-企业知识库为什么不能只依赖大模型
从第一性原理理解 RAG为什么企业知识库不能只依赖大模型系列从零构建企业 RAG 知识库第 1 篇1. 先拆开企业问答的真实需求企业并不是只需要一段“像答案的话”而是需要答案基于组织允许访问的资料资料更新后不必重新训练整个模型回答能说明来自哪份文档没有证据时拒绝猜测不同用户只能看到自己有权访问的数据。大模型的核心能力是根据输入 Token 和训练中学到的统计规律预测后续 Token。模型参数不是企业数据库也不会自动知道刚更新的制度更不能天然理解当前登录用户的数据权限。2. RAG 的第一性结构RAGRetrieval-Augmented Generation检索增强生成把任务拆成两个阶段Retrieval从外部知识中找出与问题相关、且用户有权访问的证据 Generation把问题和证据交给模型生成受证据约束的回答因此RAG 不是某个产品名称也不等于“向量数据库”。只要系统在生成之前检索外部资料并把结果用于约束回答就具备 RAG 的基本结构。3. 最小数据模型fromdataclassesimportdataclassdataclass(frozenTrue)classChunk:可检索的最小证据单元。chunk_id:strdocument_id:strtenant_id:strtext:strsource_title:strdataclass(frozenTrue)classSearchContext:权限信息必须来自可信登录会话。tenant_id:strallowed_document_ids:frozenset[str]tenant_id和allowed_document_ids不能由模型填写也不能从用户问题中推断。4. 先用确定性检索理解闭环下面不是生产级搜索而是一个可运行的关键词重合检索器。它帮助我们看清必须先过滤权限再计算相关性。importredefterms(text:str)-set[str]:教学分词提取英文单词、数字和连续中文字符。returnset(re.findall(r[A-Za-z0-9_]|[\u4e00-\u9fff],text.lower()))defretrieve(question:str,chunks:list[Chunk],context:SearchContext,top_k:int3,)-list[Chunk]:ifnotquestion.strip():raiseValueError(问题不能为空)ifnot1top_k20:raiseValueError(top_k 必须在 1 到 20 之间)query_termsterms(question)scored:list[tuple[int,str,Chunk]][]forchunkinchunks:# 权限过滤必须发生在候选进入结果之前ifchunk.tenant_id!context.tenant_id:continueifchunk.document_idnotincontext.allowed_document_ids:continuescorelen(query_termsterms(chunk.text))ifscore0:# chunk_id 作为稳定排序键保证测试结果可复现scored.append((-score,chunk.chunk_id,chunk))scored.sort()return[item[2]foriteminscored[:top_k]]5. 没有证据时必须拒答defbuild_grounded_prompt(question:str,evidence:list[Chunk])-str:ifnotevidence:return现有授权资料中没有足够证据请不要猜测。context_text\n\n.join(f[{item.chunk_id}] 来源{item.source_title}\n{item.text}foriteminevidence)returnf 你是企业知识库助手。 只能根据 evidence 回答不得使用无法从证据确认的事实。 回答中的关键结论必须引用对应 chunk_id。 证据冲突时说明冲突证据不足时回答“现有资料无法确认”。 evidence{context_text}/evidence question{question.strip()}/question .strip()Prompt 约束不能保证模型永远不幻觉最终还需要输出校验、评测和人工审核。6. 可复验测试deftest_permission_filter_happens_before_retrieval()-None:chunks[Chunk(c1,d1,tenant-a,退款期限为七天,A 租户制度),Chunk(c2,d2,tenant-b,退款期限为三十天,B 租户制度),]contextSearchContext(tenant-a,frozenset({d1}))resultretrieve(退款期限,chunks,context)assert[item.chunk_idforiteminresult][c1]assert三十天notinbuild_grounded_prompt(退款期限,result)deftest_no_evidence_refuses_to_guess()-None:promptbuild_grounded_prompt(董事长手机号是什么,[])assert不要猜测inprompt7. RAG 能解决什么不能解决什么RAG 能改善私有知识接入知识更新速度回答溯源一部分事实性幻觉查询前的数据权限过滤。RAG 不能自动保证检索一定召回正确文档文档本身没有错误或冲突模型一定忠实使用证据用户一定有权查看检索结果所有问题都适合用知识库回答。8. 对抗性审查文档内容同样是不可信数据可能包含 Prompt Injection权限过滤应在检索阶段完成不能生成后再删除不把整个企业文档库塞进上下文证据必须保留文档、页码或段落等来源元数据知识更新后要使旧索引和缓存失效高风险答案需要人工确认。9. 总结RAG 的本质不是“给大模型加数据库”而是把知识事实从模型参数中分离出来检索系统负责找到授权证据生成模型负责基于证据表达。企业知识库的可靠性来自两部分共同受控。

相关新闻

Java工厂模式深度解析:从简单工厂到抽象工厂的实战应用

Java工厂模式深度解析:从简单工厂到抽象工厂的实战应用

1. 项目概述:为什么我们需要工厂模式? 干了这么多年Java开发,每次带新人或者面试的时候,聊到设计模式,工厂模式总是绕不开的话题。它不像单例模式那样简单直接,也不像策略模式那样充满“智慧”,…

2026/7/30 9:32:50 阅读更多 →
抖音直播数据采集技术深度解析:DouyinLiveWebFetcher架构设计与实现方案

抖音直播数据采集技术深度解析:DouyinLiveWebFetcher架构设计与实现方案

抖音直播数据采集技术深度解析:DouyinLiveWebFetcher架构设计与实现方案 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取(2025最新版本) 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 抖…

2026/7/30 9:32:50 阅读更多 →
Java远程调试实战:JDWP协议原理、IDEA配置与生产环境安全指南

Java远程调试实战:JDWP协议原理、IDEA配置与生产环境安全指南

1. 项目概述:为什么我们需要远程Debug? 想象一下这个场景:你负责维护的一个核心Java服务,在测试环境跑得好好的,一上线到生产服务器就间歇性报错,日志里只有一句模糊的“NullPointerException”&#xff0c…

2026/7/30 9:32:50 阅读更多 →

最新新闻

SaaS数据范式演进:从工具到智能的核心能力解析

SaaS数据范式演进:从工具到智能的核心能力解析

1. SaaS行业演进:从工具到数据范式的战略跃迁 过去十年间,SaaS行业经历了三次明显的价值跃迁:第一阶段解决企业信息化基础需求(2010-2015),第二阶段构建行业垂直解决方案(2016-2020)…

2026/7/30 9:41:53 阅读更多 →
计算机毕业设计之Java推荐系统

计算机毕业设计之Java推荐系统

在网络计算机快速发展的时代,信息管理系统已成为社会现代化发展中有着重要的作用。随着信息管理系统的不断增加,传统的人工管理易出错,且双方缺少信息关联和沟通。因此,建立一个依托互联网的推荐系统来建立一个交流和沟通的渠道势在必行。通过…

2026/7/30 9:41:52 阅读更多 →
Altium Designer导入嘉立创EDA元件库:原理图、封装与3D模型迁移全攻略

Altium Designer导入嘉立创EDA元件库:原理图、封装与3D模型迁移全攻略

1. 项目概述:为什么要在AD中导入嘉立创EDA的库?如果你和我一样,经常在Altium Designer(后面简称AD)和嘉立创EDA(包括标准版和专业版)之间切换,或者需要复用嘉立创EDA上丰富的开源库资…

2026/7/30 9:40:52 阅读更多 →
SpringBoot+Vue电商系统开发实战与架构解析

SpringBoot+Vue电商系统开发实战与架构解析

1. 项目概述与核心价值 这个基于SpringBootVue的网上购物商城系统管理平台,是一个典型的前后端分离架构实战项目。作为Java全栈开发的经典组合,它完美融合了后端SpringBoot框架的高效与前端Vue.js的灵活,配合MySQL数据库实现完整的电商业务闭…

2026/7/30 9:40:52 阅读更多 →
计算机毕业设计之Java物品租赁系统的设计与实现

计算机毕业设计之Java物品租赁系统的设计与实现

随着新经济的需求和新技术的发展,特别是网络技术的发展,如果可以建立起物品租赁系统,可以改变传统线下管理方式,在过去的时代里都使用传统的方式实行,既花费了时间,又浪费了精力。在信息如此发达的今天&…

2026/7/30 9:38:52 阅读更多 →
p051基于协同过滤的动漫推荐系统设计与实现_hive31(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

p051基于协同过滤的动漫推荐系统设计与实现_hive31(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

p051基于协同过滤的动漫推荐系统设计与实现_hive31(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ python3.7djangohivespidermysql5.7vue 当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到系统的导…

2026/7/30 9:38:52 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻