有章AI:军事政策法规权威问答系统,五路精准召回+条款级引用+联网权威验证,让每一位官兵和群众都能"依法有据"

1. 创意名称 + 创意介绍

创意名称:有章AI · 军事政策法规权威问答系统

想解决什么问题
军事政策法规数量庞大、层级复杂、修订频繁,普通官兵和群众很难快速准确找到自己需要的具体条款依据。查法规往往需要"翻书半小时、咨询跑断腿",还容易因信息过时或解读偏差导致权益受损。

为什么会想到做这个
我在工作中发现,身边许多战友、退役军人和军属经常遇到各类政策咨询问题——退役安置怎么算、三等功奖励有哪些、医疗社保如何接续、休假规定是什么……这些问题答案分散在数百份法规文件中,普通人很难准确检索到现行有效的具体条款。加上法规更新快、废止和修订的版本多,很容易引用到过时规定,导致维权走弯路、办事跑错路。因此希望用AI技术打造一个"人人可用、条条可查、句句有凭"的法规速查工具。

大概是什么产品
一款基于RAG架构的Web端法规智能问答系统,内置五路精准召回引擎+条款级引用注入+权威联网验证层,支持PDF/Word/TXT/MD多格式一键入库,已预置4000+条地方法规样本,可快速扩展到军事法规场景。开源部署、零模型本地运行,可私有化部署保障数据安全。

体验地址:https://www.ailynx.top/law


2. 目标用户及痛点

面向哪些用户

用户群体 典型角色 核心需求
现役官兵 基层战士、机关干事、带兵骨干 日常制度咨询、奖励处分依据、休假探亲规定、工资津贴标准、晋升调级条件
退役军人及军属 退伍战士、转业干部、军嫂军属 退役安置政策、优抚优待标准、社保接续流程、医疗保障待遇、家属随军条件
政治工作/法务岗位 纪检干事、法务人员、人力资源 政策依据查询、条款精准引用、新旧版本对比、合规性审查
人民群众/应征青年 适龄青年、普通群众 征兵政策解读、国防法规科普、拥军优属规定、军人权益保障

在什么场景下使用

  • 日常工作场景:机关干事起草文件时,需精准引用某法规第X条原文;基层班长解答战士关于"奖励权限""请假审批"的疑问

  • 权益维护场景:退役军人咨询"三等功增发退役金比例""带病回乡认定标准"等具体数字和适用条件

  • 政策学习场景:新条令颁布后,快速对比新旧版本差异,定位修改条款

  • 应征咨询场景:适龄青年和家长咨询征兵年龄、体检标准、义务兵期限等热点问题

当前痛点(没有有章AI时的真实困境)

  1. 检索难:不知道法规叫什么名字,只能凭模糊关键词在百度/公众号大海捞针,搜到的往往是解读文章而非原始法条

  2. 版本乱:同一主题有多份文件(试行/修订/废止),容易引用旧版导致结论错误,比如2021年后的新《兵役法》和旧版差异很大

  3. 找条慢:即使找到了正确的法规PDF,也要翻几十页手动找"第X条",一份《纪律条令》就有200+条,逐条看效率极低

  4. 引用不准:口头回答"好像是XXX规定",没有条款级的精准引用,缺乏权威性和说服力

  5. 信息孤岛:官方渠道分散(国防部/退役军人事务部/各军兵种官网),普通人不知道去哪个网站查最新文件


3. 价值与意义

社会价值(核心)

1. 法治强军,普法落地——让"纸面上的法规"变成"手心里的依据"
军事政策法规不是摆在书架上的摆设,而是每一位官兵权益的保障线。有章AI把原本需要专家级检索能力的法规查询,降低到"打字提问即可"的门槛,让基层战士也能在3秒内拿到"《XX条令》第X条规定:……“这样的精准答案,真正实现"法规面前人人平等、人人皆可查阅”。

2. 权益保障,减少纠纷——用精准条款替代"口头传达"和"经验解读"
退役军人安置、优抚待遇、伤残评定、医疗保障……这些领域直接关系群众切身利益。过去因"找不到文件依据"导致的信访积案、政策误读不在少数。有章AI的条款级引用+权威联网验证,能直接给出"现行有效/已修订/已废止"的状态标注和原文出处,让群众办事有凭据、部门答复有依据,减少因信息不对称产生的矛盾。

3. 开源免费,零门槛推广——任何单位都能私有化部署,不产生版权/数据泄露风险
项目完全开源,采用"纯API+本地零模型"架构,支持FAISS本地向量库兜底,也支持Milvus云库扩展。不需要昂贵的GPU服务器,普通云主机即可运行,基层单位、退役军人服务站、人武部等都可以快速搭建自己的私域法规知识库,涉密数据不上公网,安全合规。

效率提升

对比维度 传统方式(翻书+百度+咨询) 有章AI
查询一条具体条款 15分钟 ~ 2小时 3 ~ 10 秒
准确性(是否为现行有效版本) 60% 左右(容易搜旧版) > 95%(状态字段+权威验证双保险)
是否可直接引用原文 需手动翻页复制 自动注入《书名》>章节>第X条脚注
覆盖法规数量(单人可熟练掌握) 约 30 ~ 50 部 4000+ 部(可持续入库扩充)
批量法规入库整理 一份100页PDF人工切块需要 2 小时 30 ~ 120 秒自动分块+向量化+建索引

4. 核心功能与技术架构(亮点详解)

:bullseye: 功能一:五路精准召回引擎 —— 查得准、查得全、查得快

不同于普通RAG仅靠向量相似度检索,有章AI设计了五通道融合召回,层层把关保证召回率:

通道编号 召回策略 技术实现 解决的问题
向量语义检索 BGE-M3 向量化 + FAISS/Milvus 相似度匹配 用户口语化提问"当兵两年能拿多少钱"也能匹配到《退役安置条例》相关条款
关键词 BM25 jieba分词 + 本地 BM25-Okapi 索引 精确匹配"三等功""奖励项目"等专有名词,避免向量只匹配"意思相近但不是同一个词"的情况
权限/时效过滤 metadata 中 status=现行有效 强过滤 + publish_date 时效加权 自动排除已废止/修订中的旧版文件,防止引用失效条款
来源权重融合 规范库(权重1.0) > 新闻库(0.3) > 评论库(0.2) 主库条款优先展示,辅助材料作为背景补充不抢排名
精排重排序 BGE-Reranker-V2-M3 交叉编码精排 Top 100 → Top 20 解决前两路召回分数错位问题,让最终推给LLM的上下文精准度再上一个台阶

性能优化:当 Fusion 后 Top1 分数 ≥ 40 且与 Top2 分差 > 5.0 时,自动跳过精排环节(可配置),省 1~3 秒 / 请求,高置信度查询响应更快。

:bullseye: 功能二:法规语义分块器 —— 切得对,才能答得准

法规文件与普通文档最大的区别是层级结构严格(书>章>节>条),传统512字滑窗会把"第X条"的标题和正文切分开,导致检索命中但上下文缺失。有章AI专门设计了按"条"切分的智能分块器

  • 9类层级结构识别:支持《书名号》、第X章/节/条、一、二、三(中文章级)、(一)(二)、1. 2.、①②③、1.1.1 多级序号、Markdown #/##/### 标题,覆盖95%中文法规和通知文件真实格式

  • 完整层级路径保留:每个 chunk 附带 section_path = 《纪律条令》> 第二章 奖励 > 第一节 奖励的项目 > 第十七条,回答时可以精准追溯到具体位置

  • 三档切分模式可选

    • :white_check_mark: 自动(推荐):先试按条切,没切出自动退化为滑窗

    • :clipboard: 强制按条:仅法规/规章文件用,切不出0条就报错提示

    • :window: 滑动窗口:新闻、讲话、报告等无条号结构文件用

  • 自动元数据推断:从文件名+正文前3000字自动提取发布日期、施行日期、状态标记,无需人工填写,大幅降低批量入库工作量

:bullseye: 功能三:条款级引用注入 + 四象限结构化生成 —— 答得明、引有据

普通RAG问答最大的问题是"答案看起来像对的,但找不到是哪条法规说的"。有章AI从两个维度彻底解决:

【引用精准】条文级收敛 + 脚注注入

  • 先对召回结果做**"条/最小标题"级收敛**:同一条法规的同一个条号,不管召回多少个 chunk 片段,只留 score 最高1段,避免重复展示

  • LLM 上下文中的每段材料都预先编号为 [1] [2] ... [N],要求回答中必须显式引用 [N]

  • 答案生成后由 citation.py 自动扫描并替换为可点击脚注,末尾统一列出「《书名》>章节>第X条,发布时间」格式的参考资料清单,支持点击跳转原文片段

【结构清晰】四象限固定模板
强制LLM按以下四象限结构输出,避免答非所问:

一、定义与依据        → 是什么?出自哪部法规?
二、适用范围与对象    → 谁能用?什么情况用?
三、核心条款/操作步骤 → 逐条列明"第X条:原文要点",绝不只概述
四、例外/边界/注意事项 → 什么情况不适用?有什么特殊规定?

:bullseye: 功能四:权威联网验证层 —— 不怕过时,双重保险

这是有章AI区别于普通"知识库问答"的核心杀手锏:本地知识库 + 联网权威验证双轨并行,默认异步不阻塞主流程。

智能触发机制(省API费用设计):不是每个问题都联网,满足以下任一条件才触发:

  • 答案中出现 3+ 个时效敏感数字(金额/百分比/具体年月日/津贴标准)

  • 精排 Top1 分数 < 0.6(检索置信度低)

  • Top1 与 Top2 分差 < 0.1(候选互相冲突)

  • 命中"退役/安置/优抚/津贴/军衔晋升/医疗社保"等时效敏感主题词

四态裁决结果

✅ verified   → 命题均被权威来源印证
🔄 updated    → 权威来源有更新规定(优先提示采纳更新版)
⚠️ conflict   → 权威来源与知识库直接矛盾(提醒用户核实)
❔ suspicious → 证据不足,无法确认

权威白名单(全国产):仅允许搜索结果来自 gov.cnnpc.gov.cnmod.gov.cn(国防部)、81.cn(军网)、mva.gov.cn(退役军人事务部)、人民网、新华网、中国人大网等12个官方权威域名,自媒体/博客结果一律丢弃。

:bullseye: 功能五:知识库管理仪表盘 —— 看得见、管得好、修得快

内置管理后台 Tab,无需任何外部工具即可完成全生命周期维护:

仪表盘模块 展示内容 维护能力
:bar_chart: 按资料类型分布 规范库/新闻库/评论库/历史库 占比饼图 一键刷新统计
:pushpin: 按状态分布 现行有效/修订中/已废止 数量 标记异常状态数量
:books: 单文件入库 拖拽上传 PDF/Word/TXT/MD → 选择资料类型、状态、专业分类、分块模式 → 一键入库 支持9大专业分类(政治工作/军事训练/后勤保障/装备管理/安全管理/人力资源/退役军人事务/医疗卫勤/营房基建)
:package: 批量入库 扫描 data/seed/<资料类型>/ 目录,支持 _meta.json 覆盖字段,列表勾选后批量入库 自动跳过标题重复文档,支持 N 份并发入库
:clipboard: 已入库文档列表 标题/doc_id/资料类型/状态/发布日期/分块数 支持按 doc_id 删除文档(双库同步删除,BM25+向量库强一致)

:wrench: 双库强一致性保障(工程可靠性亮点)

为了避免 BM25 本地索引和向量库(Milvus/FAISS)出现"一边写成功一边失败"导致的数据错位,系统设计了6层保障机制:

  1. 写入顺序:先写 BM25 内存 → 再写向量库 → 成功才 BM25 save 持久化;向量库失败自动回滚 BM25 新增 chunk

  2. 双向强一致校验:写入后立即拉取双方 chunk id 集合做 diff,哪边少就补哪边的删除(幽灵条目清理)

  3. 删除最终确认:删除后循环校验残留,最多尝试 2 次强制清理,确保"删干净"

  4. 启动自修复(S3):每次启动自动检测 BM25 幽灵条目数量,超过阈值 30 条自动删除

  5. 软删标持久化(S2):已删除 doc_id 写入 _deleted_doc_ids.json,重启不丢失

  6. 按 title 批量删除(S1):同一法规多次重建遗留多份 doc_id 时,一键按标题全匹配清理

:shield: 安全加固(公网上架已考虑)

作为可能公网部署的服务,已预置 6 项安全防护:

  • :white_check_mark: 6 项 HTTP 安全响应头(HSTS/X-Frame-Options/X-Content-Type-Options 等)

  • :white_check_mark: CORS 白名单模式(空配置默认拒绝跨域,不再回退 *

  • :white_check_mark: 上传文件大小双层限制(Nginx + FastAPI 代码层双保险,默认 200MB)

  • :white_check_mark: 管理员 API Token 鉴权(可配置;空字符串为本地部署模式不鉴权,方便自用)

  • :white_check_mark: 涉密关键词精准拦截(仅拦截「机密/秘密/绝密/国家秘密」等密级标识本身,不误伤「战备/编制/番号」等法规正文中的合法词汇)

  • :white_check_mark: HTTP 请求全量日志(含状态码/耗时/错误栈,永久排错利器)


5. 技术栈与部署方式

技术栈(纯云端API,本地零模型,可离线FAISS兜底)

层级 技术选型 说明
后端框架 FastAPI + Python 3.10+ 异步高性能,自动生成 OpenAPI 文档
向量化模型 BAAI/bge-m3 1024维,中英文通用,通过 SiliconFlow API 调用
精排模型 BAAI/bge-reranker-v2-m3 交叉编码精排,Top 100 → Top 20
向量数据库 Milvus(推荐Zilliz Cloud)/ FAISS 本地兜底 支持云地切换,开发环境无需远端服务
LLM 生成/推理 DeepSeek-V4-Flash / DeepSeek-V4-Pro 唯一需要配置的4项参数即可跑通,无多provider切换
权威搜索(可选) 秘塔Metaso / 博查Bocha / 百度智能云 / Serper 国产优先,不配置时 VERIFIER_ENABLED=false 关闭验证层
前端 单文件 index.html(原生HTML/CSS/JS,无构建) 直接挂载到 FastAPI,访问 / 即可使用
部署 Docker(后端) + Nginx(反向代理) 附 Dockerfile 和 .env.example,一键部署

极简配置(.env 只需 4 项关键参数即可运行)

DEEPSEEK_API_KEY=sk-xxxxxxxxxxxx        # 唯一必填项,DeepSeek 官方控制台获取
SILICONFLOW_API_KEY=sk-xxxxxxxxxxxx     # 推荐填写,向量化+精排,免费额度充足
ADMIN_API_TOKEN=YZAI2025_xxx            # 公网上架建议设置,维护面板密码
VERIFIER_ENABLED=true                   # 开了就有权威联网验证(需额外配置搜索API Key)

6. 使用方式演示

用户侧(问答页)

  1. 浏览器打开 https://www.ailynx.top/law

  2. 在输入框输入问题,例如:“义务兵服现役的期限是多久?”

  3. 3~10秒后返回四象限结构化答案 + 脚注编号

  4. 点击脚注跳转原文片段卡片,查看 chunk 原文 + score + metadata

  5. 如触发权威验证,答案右上角显示 :white_check_mark:/:counterclockwise_arrows_button:/:warning:/:white_question_mark: 状态徽章和联网验证说明

管理员侧(维护面板)

  1. 同一页面切换到「维护」Tab

  2. 输入 ADMIN_API_TOKEN 解锁(如配置)

  3. 拖拽上传一份《征兵工作条例.pdf》,资料类型选「规范库」,状态选「现行有效」,分块模式选「自动」

  4. 点击「解析+入库」,等待 30~120 秒即可完成向量化和索引建立

  5. 批量入库:把 4000 份法规文件放到 data/seed/normative/ 下,点「扫描 seed 目录」→ 全选 →「确认入库」,系统自动按目录名推断资料类型、按文件名前缀推断发布日期


7. 与 TRAE AI 的结合(开发辅助亮点)

有章AI的开发过程中,多个核心模块的设计与调试都借助了 TRAE 的代码辅助能力:

  1. 五路召回引擎的融合策略:权重调参、高置信度免精排阈值设定、BM25 参数 k1/b 优化,通过多次对话式测试和 TRAE 自动生成的对比测试脚本,快速确定了默认参数组合

  2. 9类层级分块正则设计:法规层级识别的正则表达式(尤其是多级序号和 Markdown 标题交叉的升降阶逻辑)非常繁琐,借助 TRAE 反复迭代和测试样本驱动,覆盖了从老式文件编号到新式 .md 导出的全部格式

  3. 双库一致性校验算法:T3 强一致性校验(双向 diff + 幽灵条目清理)的边界 case 非常多,依靠 TRAE 协助构造单元测试场景和异常路径模拟,确保极端情况下数据不丢失

  4. 权威验证 Prompt 调优:R1 裁决的 JSON 输出稳定性和 4 态判断准确率,通过多轮 Prompt Engineering 和自动评测脚本快速收敛

TRAE 让独立开发者也能快速构建原本需要一个团队才能完成的复杂 RAG 系统,从最初的想法到可体验 Demo 仅用数周时间。


8. 后续迭代方向

  1. 退役专栏 9 通道决策树(MVP 已预留接口):针对退役金核算、安置地选择、社保接续等高频复杂问题,设计可交互的分步决策引导,比纯问答更准确

  2. 新旧法规对比视图:同主题法规修订后,自动生成"新增/修改/删除"条款对比表,方便快速掌握新政变化

  3. 法规引用卡片导出:一键复制「条款原文+出处+生效时间」标准引用卡片,直接粘贴到公文和材料中

  4. 多轮对话上下文记忆:支持"上一条说的那个规定,适用于士官吗?"这类指代消解追问

  5. 移动端小程序版:官兵在训练场、出差途中也能随时查

**实测地址:** 有章AI - 玄爻科创


附:TRAE Work 生成的创意方案 HTML(上传到社区即可)

youzhangai_创意方案展示.html (47.3 KB)

1 个赞