环保合规这几年是企业绕不开的硬话题。中央生态环保督察一轮接一轮,排污许可"一证式"管理把排放约束落到每一道工序,新污染物治理又持续扩充监测因子清单。政策方向很清楚:从末端应付转向全过程、精细化管控。
顺着这条线看,企业手里那堆环评报告、验收文件、排污许可证,其实是一份关于自身产排污脉络较为系统的知识档案。
把这批文档变成可问答的合规资产,靠的是文档解析、知识图谱和检索问答三件事串起来。
文档解析:先让机器读得懂
第一步是把非结构化文档变成机器能处理的数据。环评报告常见 PDF,还有扫描件、Word、Excel 附件,系统得认这些格式,扫描件走 OCR 把图里的字转出来,表格也得能抽。
读进来之后要切分。切分不能按固定字数来,得按语义把独立意义的片段拆开,比如"废气处理工艺""废水排放限值"各成一块。这样后面有助于提升检索命中相关性,减少无关内容混入。
文本切块后用 BGE-M3 模型转成向量,存进 Milvus 向量库。这一步的产出是:几百页报告变成了带位置标记的小片段,随时能被检索调出来。BGE-M3 默认输出 1024 维向量,每条文档约占 4KB,百万级文档的向量规模在几个 GB,在合理架构和资源配置下具备工程可行性。
知识图谱:把零散信息连成网
光有碎片还不够,你得知道谁和谁有关系。知识图谱做的事,是从文档里抽出实体,再把实体连起来。
实体包括污染因子、排放限值、治理设施、执行标准、有效期这几类。关系抽取会识别"某因子对应某限值"“某设施执行某标准”"许可证某条款有效期到某天"这样的关联。这些关系存进 Neo4j 图数据库,用 Cypher 语言就能查。
举个例子,你想知道三号车间 COD 限值对应的治理设施是哪台、执行哪个标准、什么时候到期,图谱一条查询就串出来了,不用自己在三份文件间来回拼。图谱的价值是让信息有了结构,人不用再靠自己拼接信息。
检索问答:用大白话问,系统给准数
RAG 是这套里直接面向使用者的部分。它把向量检索、关键词检索和混合检索组合在一起用。
向量检索按语义找相似内容,你问"排放限值"它能理解近义表述。ES 负责严格关键词匹配,因子编号、标准号这类得精确命中。两者用 RRF 或者 cross-encoder 融合,在评测验证通过的情况下,通常比单一路径更稳定。一个被低估的事实是,融合策略比单路检索更值得投入,它直接决定进模型的那几段对不对。
你直接用口语问这张排污证还剩多久到期、五号锅炉的氮氧化物限值是多少,系统从知识库调出对应原文片段,生成带出处的答案。答案来自检索到的真实文档,有出处,有助于降低无依据生成风险,但关键结论仍需人工复核。评测这类系统常用 recall@10 看前十条里命中几条,数值低就得回头调切分和向量模型,这一步的维护成本往往比上线还贵。
Agent 工作流:让自查自己跑起来
前面几步是能力,这一层是把能力排成自动流程。
合规自查的典型流程可以这么排:Start 节点接收标准文件链接,file_download 把文件拉下来,文档处理节点解析成结构数据,Data Extractor 抽出实体,If 节点判断某因子是否超标,超了就进 Text Summary 生成说明,最后 Skill 节点输出自查清单。
状态流转由 LangGraph 调度,异步任务走 RabbitMQ,高频热点数据放 Redis 缓存。复杂任务中途断了能从检查点续上,不从头再跑。
敏感数据不出厂
环评和排污数据里头有企业工艺细节,属于敏感信息。这类系统得本地化部署,在本地化部署并关闭外部调用、日志回传和远程运维等通道后,可按配置将文档和处理过程控制在企业指定环境内。
架构上用微服务,各组件解耦,能独立扩展。文档量涨了就加向量集群节点,问答并发高了就扩模型推理服务,互不影响。
前面说的上述主要能力,小艾智能体可通过相应模块提供支持。文档处理引擎批量解析环评和许可文件,知识图谱负责把因子、限值、设施、标准关联成网。混合检索交给向量检索引擎,它用 BGE-M3 加 Milvus 跑语义和关键词。Agent 编排靠配置文件串起自查流程,Skills 机制把代码审查、纪要生成做成可插拔组件,自学习模块还能把高质量问答沉淀回知识库,用户点踩的答案会被专家修正后纳入循环。
对环保合规这个场景,落地路径很直接:用文档处理引擎解析历史环评和许可,建知识图谱,接 RAG 问答和 Agent 自查清单,私有化部署有助于在合同、网络和权限配置约束下控制数据流向。企业得到的不是又一个文档管理系统,是一套可辅助回答合规问题、生成自查线索和清单的系统资产。