前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
返回 AI 情报前线
All News · 全部资讯9799
  • MCP协议的零信任沙箱防火墙架构
  • Agent记忆层设计:让数字可证伪
  • 中文互联网基础语料 4.0 发布:120GB 高质量训练数据
  • 8款编码Agent的拒绝清单格式深度审计
  • AI 评审工具被模型用字符串 trivial 解法骗过
  • AI Agent 安全防护重点:模型泄露、密钥泄露与权限升级
  • 生产 Agent 管道 42 分钟烧掉 600 美元:上下文 inflation 教训
  • Salesforce 联手英伟达开源 Koa 推理模型:企业级 AI 备选方案
  • 无问芯穹开源具身端侧推理引擎 APXInf,Pi 0.5 性能 SOTA
  • LLM Wiki 两步思维链摄取:增量缓存 + 溯源替代传统 RAG
  • AI Agent 的权限天花板:应用能做啥和马上做啥是两码事
  • AI编程工具的上下文管理机制对比
  • 阶跃发布StepAudio 3语音大模型,多项指标全球第一
  • OpenRouter 429 限速诊断与恢复指南
  • Cursor vs OpenCode:日常编程 AI 工具深度对比
  • 采购 Text-to-SQL 工具前必问的 12 个问题
  • 微调还是 RAG 还是 Prompt?成本拆解与选择框架
  • Agent-net 开源 Webagent:Go 脚手架将任意网站快速转换为受控 AI Agent
  • 零成本用Microsoft 365构建AI安全运营中心
  • AI Agent成本管控:Pre-Call估算与Post-Hoc报告实战
  • 政策问答系统实战:RAG架构与工程避坑
  • 开源模型已接近 AGI 门槛:企业级本地部署指南
  • DeepSeek V4.1 Flash:每任务 0.07 美元进入 Agent 帕累托前沿
  • CoT 推理如何炸飞 Token 预算
  • 7 名博士 3 个月从零训练 7B 大模型,代码数据全公开
  • 谷歌全工程师开放Anthropic Claude内部使用权限
  • LLM推理优化实战:精度、显存、吞吐三路权衡
  • Claude Code 技能组合:从想法到完整功能的实战流程
  • AI 最强编程 Agent 失败率 60%:基准测试数据出炉
  • Agent 技术栈三层职责划定:Harness / Framework / MCP 各管什么
  • Vercel AI SDK Harness 层支持原生订阅认证,Copilot/Cline 等开箱即用
  • Abnormal AI 在十亿级邮件场景下部署 Bedrock AgentCore Code Interpreter 实
  • Sakana AI提出PC-ALM:局部学习的1000层网络训练新方法
  • 重复检查继承了上游 API 的所有延迟
  • 多 Agent 协作型攻击的反思:你的系统能发现吗
  • Bedrock AgentCore OAuth 同意管理:GitHub / Slack 三方登录实战
  • GPT-5.6 Luna vs GPT-6 Astra:1.2美元模型做Code Review够用吗
  • 统一端点调用所有主流模型
  • Perplexity新Agent可在本地GPU运行,但有代价
  • 给 AI Agent 塞更多上下文反而会让它更蠢
  • 文档智能RAG系统实战:架构与避坑指南
  • MCP深度分析:浏览器无工作目录问题
  • Copilot 自动选模型支持配置成本与质量档位
  • Google DeepMind 实验:AI Agent 发现作弊并主动举报
  • Ninth Wave 基于 Amazon Bedrock 构建 AI 开户助手,周期从数周压缩到分钟级
  • AWS 上生成式 AI 定制全谱:从 Prompt 工程到自定义模型实战决策框架
  • Perplexity 本地智能体登陆 Windows RTX PC:内置 Qwen 27B、GitHub 连接器,代码审
  • Perplexity 本地智能体登陆 Windows RTX:内置千问 27B,GitHub 接入代码审查全本地运行
  • AI 编程产出增加 25%,但代码重复率上升 81%
  • Laurie Voss 观点:写代码成本暴跌,发现需求与定义产品成为工程师新核心
  • 小样本统计陷阱:8个样本的100%精确率有多可靠
  • 已加载 51 / 9799
8.0
热点
AI SCORE
技术实践2026-09-15 11:53

政策问答系统实战:RAG架构与工程避坑

dev.to · AI#RAG#政策问答#开源
Editor brief · 编辑速览

开源RAG政策问答机器人,支持公民用日常语言提问并返回带引用的政策答案,包含英国福利申请等真实场景,附架构解析和可运行代码。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

问题所在:政策文件在技术上公开,实际上难以阅读

公共部门发布大量政策信息——福利标准、申请条件、资格规则。这些信息在技术上都能在网上找到。但如果你不是专业人士,几乎没有一项是容易实际使用的。一个人只想知道"我能领多少"或"我需要准备什么材料",结果得到的却是一份 30 页的政策文件,写给办事员看的,不是给普通市民看的。

结果可想而知:人们打热线电话去问一个早已在网上发布过答案的问题,或者干脆放弃、凭感觉猜。在我从事大型文档密集型数字化服务的过程中,我不断看到这个鸿沟——不是信息缺乏,而是缺乏一种真正能提问的方式。

所以我构建了 policy-qa-system——一个开源的 RAG(检索增强生成)聊天机器人,让人们可以用日常语言向公共政策提问,并获得基于实际源文档、有引用可查的回答。不是那种泛化的聊天机器人在瞎猜政策——而是一个只回答它真正被投喂过的文档内容的系统。

解决方案:检索、阅读、回答、引用

当有人提问时,系统会:

在已索引的政策文档库中搜索最相关的段落

将相关段落与问题一起提供给模型阅读

用通俗语言生成回答,而不是政策套话

精确标注来源,使回答可以被核查,而不只是被信任

最后这一步是大多数聊天机器人项目跳过的,也是这里最关键的一步。关于福利资格或申请条件的回答,只有在有人能够核实的情况下才有价值。因此每条回复都附有来源参考,而且系统被设计成在找不到相关内容时说"我不确定",而不是瞎猜。

一个通俗语言的示例

问题:"两个孩子每周能领多少?"

For 2 children: first child gets the standard rate, second child
gets the additional-child rate (combined weekly and yearly totals
shown together). An income-based charge may apply above a set
household income threshold.

Source: Official rates document, section on child payments

具体数字取决于加载哪个国家的政策文件——系统本身不绑定任何单一国家的规则。这是一套公民问答的模式,不是一个固定的数据集。

这里也没有用到什么 exotic 技术。真正运行这个系统的团队,只需要把自己的官方政策文档替换掉示例文档集,其余所有部分——检索、引用、通俗语言生成——都保持不变。

 User question
      │
      ▼
 React UI ──► Express API
      │
      ▼
 LangChain retrieval ──► PostgreSQL + pgvector (indexed policy docs)
      │
      ▼
 LLM answer generation (grounded in retrieved sections)
      │
      ▼
 Answer + citation + confidence score

置信度分数与回答本身同样重要。如果检索步骤没有找到与问题足够接近的内容,系统会被设计成直接告知用户,而不是让 LLM 用一个听起来合理但实际上是瞎编的答案来填补空白。

代码解读(有用的部分)

每条回答都必须附带来源,而不只是自由生成:

const response = await chain.invoke({
  question,
  context: retrievedChunks,
});

return {
  answer: response.answer,
  sources: retrievedChunks.map(c => ({
    document: c.metadata.document,
    section: c.metadata.section,
  })),
  confidence: response.confidence,
};

置信度阈值决定是回答还是说"未找到":

if (topMatchScore < CONFIDENCE_THRESHOLD) {
  return {
    answer: "I couldn't find a reliable answer to that in the indexed documents.",
    sources: [],
  };
}

这一处检查在代码量上很小,但它是聊天机器人是否值得信任的分水岭——前者人们可以信任,后者只是听起来很有信心。

把引用变成每条回答的必选项而不是可选项,从一开始就倒逼了更好的检索质量——一旦你必须展示答案来自哪里,模糊的检索结果就立刻暴露了。

置信度阈值,即使是一个很简单的版本,也大幅减少了那种听起来很自信但实际上是错的回答。感觉像是一个小添加,却是对信任度影响最大的改动之一。

保持文档集可替换,意味着理论上同一套系统只需要重新索引不同的文档集,就能适用于完全不同的政策领域。

真正困难的地方

**在不丢失准确性的前提下翻译成通俗语言。**政策文件的精确性是有原因的——简化措辞但不遗漏重要条件(收入门槛、资格规则)需要真正用心,而且我认为这个问题还没有完全解决。

**决定什么时候说"我不知道"。**置信度阈值设得太低,系统就会回答它不该回答的问题;设得太高,系统又会拒绝它本来能好好回答的问题。最后我是对着一个小型的真实问题测试集手工调参的。

这是一个起点,不是一个成品、可以直接部署的系统。它需要一个真正的文档摄入管道、对示例回答的持续审查,以及在真实用户使用前针对边界情况进行充分测试。我会把它当作一个坚实的 base 来继续构建,而不是一个开箱即用的发布工具。

这在更大的图景中处于什么位置

这是我正在构建的一系列开源 AI 项目中的一个——文档问答 RAG 系统、AI 代码审查 agent、语音转敏捷用户故事工具。这些项目的共同点是:在真实的工作流问题上使用 LLM 编排(LangChain/LangGraph),并且强烈偏向于可核查的回答,而不是听起来正确的回答。

仓库是开源的,本地快速试用:

git clone https://github.com/Srameshgitnow/policy-qa-system.git
cd policy-qa-system
npm install
npm run dev

完整的安装步骤、环境变量以及如何加载自己的文档,都在 README 中。

如果你试用了,发现引用逻辑中有漏洞,或者对置信度阈值有想法,我很愿意听你说说——issues 和 pull requests 都开放。如果这个项目对你有用,在 repo 上点个 ⭐ 能帮助其他人发现它:

👉 github.com/Srameshgitnow/policy-qa-system

我是一名全栈/AI 工程师(React、Node.js、LangChain/LangGraph),有大规模数字化交付的背景。我写关于应用 AI 工程和开源工具的文章——关注我,获取这个系列的下一篇文章。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
AI Agent成本管控:Pre-Call估算与Post-Hoc报告实战
下一篇
开源模型已接近 AGI 门槛:企业级本地部署指南