规则 + LLM 混合架构

不是把所有数据都扔给大模型。95% 的信号由规则引擎处理,45 毫秒响应,零成本。只有 5% 语义模糊的案例才调用 LLM 深度分析。又快,又省,又准。

原始数据
10 种检测规则
95% 流量
置信度路由
>85% → 直接通过

自动输送给评分引擎
40-85% → LLM 复核

DeepSeek V3 深度分析
<40% → 丢弃

噪音,不进入下游
45ms
规则引擎响应速度
10 种检测规则并行执行
$4.5/mo
LLM 最低月成本
GLM-4-Flash 混合模式
$20.7/mo
LLM 全量月成本
DeepSeek V3.2,1000条信号/天

10 种信号检测规则

每条规则包含触发条件、过滤逻辑、置信度计算三个部分。以环评为例:

🟢 触发条件

文档标题匹配 "环境影响评价" + 含 "新建/改扩建" + 非纯环保治理项目

🔴 过滤逻辑

排除:纯环保治理项目 | 公示期已过 > 90 天 | 已撤销/废止项目

📊 置信度计算

基础分 55 + 新建项目(+15) + 投资额 > 5000万(+10) + 含智能化关键词(+10) + 建设单位为制造业企业(+10)

7 维信号评分引擎

每一条通过检测的信号,进入 7 维度加权评分:

Score = 信号强度 × 0.30
     + 新鲜度   × 0.20
     + 行业匹配 × 0.15
     + 公司规模 × 0.10
     + 意图置信度 × 0.15
     + 可联系性 × 0.05
     + 历史反馈 × 0.05

初期用 LLM + 规则 生成评分。销售每次反馈(有价值 / 无价值 / 已联系),自动更新历史反馈维度的权重。团队用得越多,AI 越懂你的行业偏好。

非结构化文档 AI 解析

这是我们的核心技术壁垒。传统爬虫只能抓取网页上的结构化字段(标题、日期、表格)。但政府公文的关键信息往往藏在文档内部:

LLM 逐份解析这些文档,输出结构化的 JSON,包含所有关键字段。然后进入规则引擎和评分流程。

企业实体识别(Entity Resolution)

政府公文中的企业名称千奇百怪——全称、简称、曾用名、错别字、英文名。如果无法准确识别「这家公司到底是谁」,后续的信号归因就会出错。

我们采用 Crustdata 三步法,准确率 99.8%:

① Web 搜索
原始名称 → Top 3 URL
② 企业识别
提取法定名、域名、HQ
③ LLM 消歧
选最优或返回「无匹配」

核心原则:绝不强制匹配。错误匹配是 ER 中最糟糕的结果。

技术栈

层级技术选型复用度
爬虫引擎Scrapy + Playwright100%
变化检测自研(参考 changedetection.io 32k⭐)80%
任务队列RabbitMQ + Celery100%
缓存/去重Redis + BloomFilter100%
主数据库PostgreSQL + pgvector90%
LLMDeepSeek V3.1 API(直接调用,不用框架)新增
Web 框架FastAPI100%
部署Docker + Compose100%

LLM Prompt 工程

三个核心 Prompt 模板,已针对 DeepSeek API 调优:

结构化输出采用 Instructor + Pydantic,4 层验证(提取 → 修复 → JSON.parse → Schema verify),最多 3 次重试并梯度降温。目标:JSON 解析重试率 < 5%,Schema 验证重试率 < 10%。

MVP 原则