智审未来:基于 LangGraph 多 Agent 协同的新闻 AI 审查系统深度实战(完整源代码)

前言

在信息传播速度以秒计的今天,新闻审查面临着前所未有的挑战:海量内容涌入、合规标准复杂、隐喻暗示难以捕捉。传统的关键词过滤早已力不从心,海量新闻内容对审核机制提出了极高的效率与准确性要求。传统的人工审查模式面临效率瓶颈、标准不一以及对隐蔽内容识别困难等痛点。

本文将深度解析一个基于LangChain、LangGraph 和本地 Ollama 大模型构建的自动化新闻 AI 审查系统。该系统通过多 Agent 协作架构,将新闻审查从简单的“关键词匹配”进化为深度的“语义理解与逻辑推理”。

郑重声明:本系统只是以新闻AI审查场景为例来演示相关技术,相关数据都是模拟数据,并不能实际进行新闻的审查,不能直接作为审查系统使用!如有使用责任自负!

原型系统界面展示

新闻稿文档上传

审查进度可视化

审查报告总览

审查详情

审查详情

审查详情

一、 系统架构:从单体模型到状态机编排

1.1 设计思路:原子化与专业化

本系统的设计核心在于专业化分工。我们没有使用单一的长 Prompt让模型完成所有任务,而是将任务拆解为四个独立的 Agent,每个 Agent 专注于特定领域,从而提高提示词的精准度与系统的可维护性。

1.2 整体架构图

系统采用前后端分离架构,核心由 LangGraph 编排工作流,后端利用 FastAPI 支撑,LLM 服务则由本地运行的 Ollama 提供(模型选用 qwen2.5:7b),并利用 WebSocket 实现审计状态的实时推送。

1.3 数据流转图

1.4 多Agent协作模式

本系统采用专业化分工的设计思想,将复杂的新闻审查任务拆解为四个独立的Agent,每个Agent专注于特定领域:

Agent职责输入输出
声明提取Agent将长文本拆解为原子化声明新闻全文声明列表(JSON)
事实核查Agent验证每个声明的真实性声明列表 + 原文核查报告
合规审查Agent检测违规内容和风险声明列表 + 原文合规报告
终审裁决Agent综合评估并做出决策核查报告 + 合规报告最终决策

设计优势

  • 单一职责:每个Agent专注于一种任务,提示词更精准
  • 可复用性:Agent可独立测试、升级和替换
  • 并行潜力:未来可改为并行执行(部分Agent)
  • 可观测性:每个阶段的输出都清晰可见

二、 LangGraph 状态机架构:超越线性 Pipeline

系统的核心灵魂在于基于LangGraph 的 StateGraph构建的工作流。不同于传统的线性链式调用,LangGraph 允许我们定义复杂的有向无环图(DAG),并管理跨节点的状态。

2.1 状态定义与流转

我们定义了AuditState对象在节点间传递信息,记录新闻全文、声明列表及各类审查报告。

classAuditState(TypedDict):article_id:str# 稿件唯一标识article_content:str# 原始新闻全文claims:List[Dict]# 提取出的原子化声明fact_check_reports:List[Dict]# 事实核查详细结果compliance_report:Dict# 合规审查结果final_decision:Dict# 最终裁决建议current_step:str# 当前执行进度

2.2 审查流转图

使用LangGraph的StateGraph构建工作流,将Agent串联成有向无环图(DAG):

2.3 关键代码:定义状态机工作流

fromlanggraph.graphimportStateGraph,ENDclassAuditWorkflow:def_build_graph(self)->StateGraph:# 初始化状态图,AuditState 记录了新闻全文、声明列表、各类报告workflow=StateGraph(AuditState)# 添加 Agent 节点workflow.add_node("extract_claims",self._extract_claims)workflow.add_edge("extract_claims","fact_check")workflow.add_node("fact_check",self._fact_check)workflow.add_edge("fact_check","compliance_audit")workflow.add_node("compliance_audit",self._compliance_audit)workflow.add_edge("compliance_audit","judge_decision")workflow.add_node("judge_decision",self._judge_decision)workflow.add_edge("judge_decision",END)# 设置入口workflow.set_entry_point("extract_claims")returnworkflow.compile()

三、 核心模块深度实现

3.1 原子化声明提取(Atomic Claim Extraction):消除“语义稀释”

痛点:直接对 3000 字的长文进行 RAG(检索增强生成)或事实核查,模型容易出现“幻觉”,且关键事实会被冗余背景淹没,检索精度下降。
实现逻辑ClaimExtractor将长文本拆解为多个独立的、可验证的原子化声明。它会补全指代词,确保每个声明包含具体的数据、事实或观点。

  1. 上下文补全:将指代不明的词(如“该公司”、“他”)替换为具体实体(如“华为”、“任正非”)。
  2. 维度拆分:将复合句拆分为单一事实。例如“A 公司去年营收增长 20% 且裁员千人”会被拆分为两个独立声明。
# 提取Agent的核心Promptself.system_prompt=""" 你是一个专业的新闻声明提取专家。 请将输入的新闻文章拆解为多个独立的、可验证的原子化声明。 要求:每个声明应该是独立的陈述,必须包含具体的主体、时间、地点、数字等,去除形容词等干扰项,JSON格式输出。 """defextract_claims(self,article_text:str)->List[Dict]:"""提取原子化声明"""prompt=f"请提取以下文章中的所有可验证声明:\n\n{article_text}"response=self.llm.invoke([{"role":"system","content":self.system_prompt},{"role":"user","content":prompt}])# 解析JSON响应result=json.loads(response.content)returnresult.get("claims",[])

3.2 事实核查(Fact-Check):多维证据比对

事实核查 Agent 不仅仅是调用大模型,它实际上是一个小型的 RAG 系统。

职责:验证每个声明的真实性。
逻辑:针对提取出的声明列表,Agent 在知识库(包含实时热点库、法规准绳层、实时事实层等)中进行混合检索(向量 + 关键词)。它会输出核查状态(如:支撑、证据不足、冲突)并附带推理过程。

  • 冲突检测:对比证据原文与声明。模型会输出三个等级:支撑 (Support)反驳 (Refute)信息不足 (Not Enough Info)
  • 推理展示:Agent 必须给出“为什么认为它是假的新闻”的推理链条(Audit Trail)。
ACT_CHECK_SYSTEM_PROMPT="""你是一名严谨的调查记者。 你的任务是核实新闻稿件中的事实陈述。依据提供的参考资料,判断每个声明的准确性。 ## 工作流程 1. 提取稿件中涉及的人物、时间、地点、数据、引用言论 2. 将每个事实点与参考资料进行比对 3. 标记出"准确"、"错误"、"证据不足"、"存疑" ## 输出要求 请严格按照以下JSON格式输出: { "fact_check_report": [ { "claim": "原文中的表述(声明内容)", "status": "准确/错误/证据不足/存疑", "evidence": "参考资料中的原文依据(如果没有证据则说明)", "reasoning": "为什么判定为该状态的详细分析" } ], "overall_accuracy_score": 准确度评分(0-100的整数), "summary": "整体核查总结(1-2句话)" } """

3.3 合规审查(Compliance):红线与立场识别

合规 Agent 侧重于语义倾向和政策风险。

检查维度

  • 立场倾向:识别是否存在煽动性言论、立场偏颇、违规暗示或极端情绪。
  • 敏感红线:检测是否包含涉政、涉黄、涉恐或其他平台禁止的暗示性表述。
  • 修改建议:Agent 会输出suggested_modifications,告知编辑如何调整词汇以符合规范。

四、 风险评分算法:基于“短板理论”的决策

在终审裁决阶段,系统通过Judge Agent汇总所有报告。为了确保零容忍,我们采用的是基于**“短板效应”的非线性加权算法**。

4.1 算法逻辑:最大风险覆盖

系统不采用简单的加权平均,而是基于**“短板理论”**(一票否决制):只要有一个严重违规点,整篇稿件即判定为高风险。因为在新闻审查中,99% 的内容真实无法抵消 1% 的敏感违规带来的风险。

4.2 决策矩阵

风险评分裁决动作处理逻辑
0 - 30自动通过风险极低,符合发布标准。
31 - 60修改后发布存在小瑕疵或修辞风险,需按建议调整。
61 - 100禁止发布触碰红线或事实严重虚假,予以拦截。

五、 性能优化:如何提升 35-40% 的速度?

在私有化部署场景下,本地大模型的推理速度很重要。我们通过以下三个层面的优化,将单篇新闻处理耗时从90s+ 压缩到了 30s 以内

  1. 禁用推理过程 (Reasoning=False):针对非逻辑推演类任务(如提取、分类),关闭 DeepSeek/Qwen 的深度思考过程,可节省 20-40 秒。
  2. Agent 单例模式:避免每次请求重复初始化 LLM 和 Agent 实例,内存占用减少 75%,并大幅提升响应速度。
  3. 启动预热机制:在 FastAPI 启动时预先向 Ollama 发送测试消息,消除首次请求时加载模型到内存的 5-10 秒延迟。

5.1 禁用推理过程 (Reasoning=False)

对于“提取”和“分类”等非逻辑推导类任务,关闭模型的 Chain-of-Thought(思维链)可以显著降低首字延迟。

self._llm=ChatOllama(model="qwen2.5:7b",temperature=0.1,reasoning=False,# 关键优化:跳过冗长的思考过程num_ctx=4096)

5.2 Agent 单例与启动预热

问题:Ollama 模型在首次调用时会有 5-10 秒的加载延迟。
方案:在 FastAPI 启动时执行lifespan钩子,预先发送一条“ping”消息加载模型。

六、 总结与下一步计划

通过LangGraph 多 Agent 架构,我们实现了新闻审查的智能化与自动化。该系统不仅解决了长文本检索精度问题,还通过原子化提取和多维度审计确保了决策的可解释性。

下一步可继续开发:

6.1 短期优化

  • 并行执行:事实核查和合规审查可并行执行(LangGraph支持)
  • 流式输出:使用LLM的流式API,边推理边展示结果
  • 缓存机制:对相同声明缓存核查结果

6.2 中期增强

  • RAG集成:接入向量数据库(Milvus/Pinecone),实现证据检索
  • 知识图谱:使用Neo4j构建实体关系图谱
  • 人工审核:添加"人工复审"节点,实现Human-in-the-loop

6.3 长期演进

  • Agent自动路由:根据新闻类型(政治/经济/社会)动态选择Agent
  • 多模型协同:简单任务用小模型(qwen3:8b),复杂任务用大模型(qwen3:32b)
  • 持续学习:通过人工复核反馈回流,实现知识库的自动更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1180454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

语音识别模型压缩:GLM-ASR-Nano-2512轻量化部署技巧

语音识别模型压缩:GLM-ASR-Nano-2512轻量化部署技巧 1. 引言 随着语音交互场景的不断扩展,自动语音识别(ASR)技术正从云端向边缘端加速迁移。在这一趋势下,模型体积小、推理效率高、部署灵活成为实际落地的关键指标。…

告别背景杂音|FRCRN单麦降噪镜像助力音频增强

告别背景杂音|FRCRN单麦降噪镜像助力音频增强 1. 引言:嘈杂环境下的语音增强挑战 在日常的语音采集场景中,无论是远程会议、在线教学还是户外采访,背景噪声始终是影响语音质量的关键因素。空调嗡鸣、交通噪音、人群交谈等干扰不…

StructBERT中文情感分析实战|开箱即用的CPU优化镜像详解

StructBERT中文情感分析实战|开箱即用的CPU优化镜像详解 1. 背景与需求:为什么需要轻量化的中文情感分析方案? 在自然语言处理(NLP)的实际应用中,情感分析是企业级服务中最常见的需求之一。无论是用户评论…

PaddleOCR-VL-WEB实战:金融票据识别系统搭建

PaddleOCR-VL-WEB实战:金融票据识别系统搭建 1. 简介与背景 在金融、保险、税务等业务场景中,大量纸质或电子票据需要自动化处理。传统OCR技术往往依赖多阶段流水线(检测→方向校正→识别→结构化),存在误差累积、上…

Qwen2.5-0.5B模型压缩实战:0.3GB GGUF部署详细步骤

Qwen2.5-0.5B模型压缩实战:0.3GB GGUF部署详细步骤 1. 引言 1.1 业务场景描述 随着大模型在移动端和边缘设备上的需求日益增长,如何将高性能语言模型轻量化并部署到资源受限的硬件上,成为AI工程落地的关键挑战。Qwen2.5-0.5B-Instruct作为…

Live Avatar温暖微笑:smiling warmly表情控制技巧

Live Avatar温暖微笑:smiling warmly表情控制技巧 1. 技术背景与核心价值 Live Avatar是由阿里联合多所高校共同开源的数字人生成模型,旨在通过文本、图像和音频输入驱动高保真虚拟人物视频生成。该模型基于14B参数规模的DiT(Diffusion in …

从噪音到清晰:利用FRCRN镜像实现高效单麦语音降噪

从噪音到清晰:利用FRCRN镜像实现高效单麦语音降噪 在语音交互、远程会议、录音转写等实际应用中,单麦克风录制的音频常受到环境噪声干扰,严重影响语音可懂度和后续处理效果。如何在资源受限条件下实现高质量语音降噪,成为工程落地…

BERT与ALBERT中文任务对比:语义理解部署效率全方位评测

BERT与ALBERT中文任务对比:语义理解部署效率全方位评测 1. 引言 随着自然语言处理技术的不断演进,预训练语言模型在中文语义理解任务中扮演着越来越关键的角色。其中,BERT(Bidirectional Encoder Representations from Transfor…

睿云联创冲刺港股:9个月营收2.77亿 期内利润为4457万 星网锐捷是二股东

雷递网 雷建平 1月18日厦门睿云联创新科技股份有限公司(简称:“睿云联创”)日前递交招股书,准备在港交所上市。于2023年及2024年以及截至2025年9月30日止九个月,睿云联创分别宣派股息3960万元、5270万元及5280万元&…

单通道语音降噪方案落地|FRCRN-16k镜像全解析

单通道语音降噪方案落地|FRCRN-16k镜像全解析 1. 引言:单通道语音降噪的现实挑战与技术选型 在真实场景中,语音信号常常受到环境噪声、设备限制和传输损耗的影响,导致语音质量下降,严重影响后续的语音识别、合成或通…

Java SpringBoot+Vue3+MyBatis 在线招投标系统系统源码|前后端分离+MySQL数据库

💡实话实说:用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否,咱们都是朋友,能帮的地方我绝不含糊。买卖不成仁义在,这就是我的做人原则。摘要 随着互联网技术的快速发展,传统的招投…

中药实验管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

💡实话实说:用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否,咱们都是朋友,能帮的地方我绝不含糊。买卖不成仁义在,这就是我的做人原则。摘要 中药实验管理系统信息管理系统旨在解决传统中药实…

MGeo模型压缩方案:量化后精度损失与速度提升权衡

MGeo模型压缩方案:量化后精度损失与速度提升权衡 1. 引言:地址相似度匹配中的效率挑战 在实体对齐任务中,尤其是中文地址领域的语义匹配,高精度的深度学习模型往往伴随着巨大的计算开销。阿里开源的 MGeo 模型专为“地址相似度识…

SAM3技术分享:分割结果的量化分析

SAM3技术分享:分割结果的量化分析 1. 技术背景与核心价值 图像分割作为计算机视觉中的基础任务,长期以来依赖于大量标注数据和特定场景的模型训练。随着通用视觉模型的发展,SAM3(Segment Anything Model 3) 的出现标…

NotaGen实战:生成巴赫风格管风琴作品

NotaGen实战:生成巴赫风格管风琴作品 1. 引言 在古典音乐创作领域,如何让人工智能真正理解并再现作曲家的风格一直是极具挑战性的课题。传统序列生成模型往往难以捕捉复杂的和声结构与对位法逻辑,而基于大语言模型(LLM&#xff…

GLM-ASR-Nano-2512最佳实践:免配置极速上手

GLM-ASR-Nano-2512最佳实践:免配置极速上手 你是不是也遇到过这样的科研场景?作为高校教授,带着本科生做语音识别方向的课题,想让学生们动手测试不同参数下模型的表现。但实验室GPU资源有限,大家轮流排队,…

提升办公效率:用cv_resnet18_ocr-detection实现发票信息提取

提升办公效率:用cv_resnet18_ocr-detection实现发票信息提取 1. 引言 在现代办公场景中,大量纸质或电子发票的处理成为财务、报销和审计流程中的关键环节。传统的人工录入方式不仅耗时耗力,还容易出错。为解决这一痛点,自动化OC…

核心要点解析Batocera镜像定制中的关键步骤

打造专属复古游戏主机:深度拆解 Batocera 镜像定制全流程你有没有遇到过这样的场景?——朋友来家里做客,兴致勃勃想玩一局《魂斗罗》,结果你得先插卡、开机、等系统加载十几秒,再手动进菜单、翻找平台、选游戏……一顿…

Z-Image-Turbo_UI界面批量处理实战:自动化生成系列风格图像

Z-Image-Turbo_UI界面批量处理实战:自动化生成系列风格图像 1. 引言 在当前AI图像生成技术快速发展的背景下,如何高效、便捷地实现风格化图像的批量生成,成为设计师、内容创作者和开发者关注的核心问题。Z-Image-Turbo 作为一款基于深度学习…

CosyVoice-300M Lite部署教程:CPU环境一键部署TTS服务详细步骤

CosyVoice-300M Lite部署教程:CPU环境一键部署TTS服务详细步骤 基于阿里通义实验室 CosyVoice-300M-SFT 的高效率 TTS 服务 1. 章节名称 1.1 项目背景与技术定位 随着语音合成(Text-to-Speech, TTS)技术的快速发展,轻量级、低资…