01痛点:政策情报靠人肉,漏检成为常态
政策研究每天要盯十几个部委、省市官网,人工检索费时且漏检——一个政策漏看,支撑的课题结论就可能失准。
02判断:这不该是一个"爬虫脚本",该是一个平台
站点会改版、政策源会增加、分析需求会变化——所以我把它设计成可配置、可扩展的系统:新增站点改配置不改代码,分析能力基于 RAG 持续演进。
PROJECT 01 — 全栈独立开发 · 生产运行中
让政策情报自己找上门——多源采集、自动入库、RAG 问答,一套跑在生产环境里的情报自动化平台。
政策研究每天要盯十几个部委、省市官网,人工检索费时且漏检——一个政策漏看,支撑的课题结论就可能失准。
站点会改版、政策源会增加、分析需求会变化——所以我把它设计成可配置、可扩展的系统:新增站点改配置不改代码,分析能力基于 RAG 持续演进。
前端 Vue3 + Element Plus 管理后台(主题 / 站点 / 任务 / 文档 / 搜索 / 报告) │ axios /api/v1 接口层 FastAPI · 9 组路由(统一响应封装 + BackgroundTasks 异步抓取) │ 服务层 主题生命周期 · 检索编排 · 文档管理 · RAG 编排 · 学习报告 │ 核心层 三阶段采集引擎:AI 全网搜索(博查+Tavily) → 来源详情抓取 → 配置站点爬取 自研 RAG 管线:切分 500/50 → DashScope 向量化 → Chroma 检索 → DeepSeek 带[n]引用 缓存层:Redis Cache-Aside(TTL 抖动防雪崩 · 空结果不缓存防穿透) │ 数据层 MySQL/SQLite 双方言(元数据真相源) · Chroma(语义) · Redis(缓存)
从 chunking 策略调优到定位「解释句 + 超长表格」的检索失配,完整走过一遍 RAG 排障闭环;检索结果带 [n] 引用,可溯源、可核验。
官网 / AI 搜索 / 互联网三档权威级别:全文检索按权威度排序,向量检索加权重排——宁可少给,不给低信源噪声。
检索缓存 1h、问答缓存 24h、学习报告绑定资料指纹(资料不变就不重复生成)——缓存命中率换来账单稳定。
站点差异全部收敛到 Profile 配置:三引擎(httpx / Playwright / BS4)自动降级,配一个 JSON 就接入一个新政策源。
生产环境运行 8 个月,10+ 业务人员日常在用;从「每天人工翻网站」变成「AI 全网搜索 + 自动入库 + 带引用问答」,支撑省部级课题的政策情报底座。
14 个 pytest 用例守护核心链路(切分边界 / 缓存降级 / 权威排序);完整经历 SQLite → MySQL 迁移与 RAGFlow → 自研 RAG 替换两次架构演进,旧接口零改动。