🛡️ 错误信息检测代理系统
Misinformation Detection Agent System
轨道:代理商为好\ 问题:错误信息和虚假信息检测\ 解决方案:具有多源验证和交互式评估UI的多代理人工智能系统
错误信息和虚假信息对公共卫生、气候行动和对机构的信任构成了越来越大的风险。此存储库包含 使用Gemini和Google ADK构建的错误信息检测代理该系统分析内容,提取声明,将这些声明与多个来源进行核对,对出版商的可信度进行评分,并返回 可解释的判决 具有可信度评分和风险水平。
主要实施方式是 misinformation-detector-final-version-2.ipynb
______________________________________________________________________
1.问题和动机
现代信息生态系统充斥着 误导或捏造的内容:
- 虚假的健康声明。
- 气候否认和阴谋论。
- 误导或精心挑选的统计数据。
- 虚假或歪曲的政府公告。
事实核查人员实际上无法跟上,大多数人没有时间对每一篇帖子进行深入研究。我们想要一个能够:
- 阅读一段内容。
- 提取具体的可验证声明。
- 对照高质量来源检查这些声明。
- 评估出版商的业绩记录。
- 以可理解的推理做出明确的判决。
______________________________________________________________________
2.为什么是代理商?
错误信息检测不仅仅是一次LLM调用。它要求:
- 内容理解 -实际声称的是什么?
- 证据收集 可靠消息人士怎么说?
- 来源评估 我们能信任这个出版商吗?
- 决策综合 –我们如何将所有这些结合成一个判决?
为了解决这个问题,系统使用了 多代理架构:
- A. 内容分析器代理 以提取索赔和情感/偏见信号。
- A. 事实核查代理 同时使用四种工具验证索赔。
- A. 源验证代理 以获得出版商的信誉。
- 一 编排器代理 综合得出最终判决。
这种架构使解决方案:
- 模块化 –每个代理都有明确的责任,可以独立改进。
- 可解释的 –每一步都会留下结构化的痕迹。
- 可扩展 新的工具(例如,特定于域的API)可以插入到事实检查器中。
______________________________________________________________________
3.架构概述
3.1高水位流量
User Content
│
▼
Content Analyzer Agent
│
┌───────────────┴───────────────┐
│ │
▼ ▼
Source Verifier Agent Fact Checker Agent
(if source URL provided) │
│ ├──► WebSearchTool (Custom Google Search)
│ ├──► ADK google_search (built-in)
│ ├──► MCP Fact Check Tool
│ └──► OpenAPI Fact Check Tool
│ │
└───────────────┬───────────────┘
│
▼
Orchestrator Agent (RateLimitedDetector)
│
▼
Verdict + Credibility Score + Risk Level +
Reasoning + Evidence Summary3.2岩芯探测器
所有编排都封装在一个类中:
RateLimitedDetector
- 手柄:
- 会话管理(通过 InMemorySessionService). - 记忆(PatternLearningMemory). - 并行内容和来源分析。 - 平行索赔事实核查。 - 用于合成的上下文压缩。 - 速率限制和重试逻辑。
- 公共API:
result=等待检测器分析(内容,源url=“optional url”) 回归 AnalysisResult 包括:
credibility_score(0–1).
risk_level(LOW/MEDIUM/HIGH).
verdict(TRUE/FALSE/MISLEADING/UNCERTAIN).
confidence(0–1).
reasoning(简短的文字解释)。
content_analysis,fact_check_results,source_verification.
______________________________________________________________________
4.代理和主要功能
4.1内容分析器代理
- 模型:
gemini-2.5-flash-lite - 角色:
- 提取可验证的事实声明作为字符串列表。 - 检测情绪标记和耸人听闻。 - 确定偏见指标和关键实体。 - 估计AI生成的可能性。
- 输出:严格格式化的JSON,具有强大的后处理功能来修复格式错误的响应。
4.2事实核查代理(多源验证)
- 模型:
gemini-pro. - 工具(并行):
1. WebSearchTool –自定义Google自定义搜索API集成。 1. ADK的内置 google_search 工具(如果可用)。 1. MCPFactCheckTool –模型上下文协议事实检查包装器。 1. OpenAPIFactCheckTool OpenAPI 3.0风格的REST集成。
- 职责:
- 对于每个索赔,并行运行所有四个来源。 - 规范化和消除重复的证据URL。 - 生产: - verdict, confidence, reasoning. - evidence_sources (修剪的网址,人类可读的摘要)。 - custom_search_findings, builtin_search_findings, mcp_findings, openapi_findings.
4.3源验证代理
- 模型:
gemini-2.5-flash-lite. - 输入:
source_url以及可选内容样本。 - 输出:
- credibility_level (高/中/低/未知), - reliability_score, - bias_score (-1到+1), - red_flags, - positive_indicators.
4.4编排与合成
- 模型:
gemini-2.5-flash-lite. - 从以下来源接收压缩摘要:
- content_analysis (索赔、耸人听闻、偏见、自信)。 - fact_summary (真/假计数,平均置信度)。 - source_summary (可信度、可靠性得分)。
- 对可靠来源的启发:
- 当不存在明确的事实检查点击,但来源是 非常高的可信度 (例如,世界卫生组织、美国国家航空航天局、.gov,具有高可靠性),协调人返回 TRUE + LOW 风险而不是 UNCERTAIN.
______________________________________________________________________
5.展示关键ADK概念
该项目采用了以下ADK概念:
- 多代理系统
- 4个子代理+编排器,结合并行和顺序流。
- 工具
- 自定义工具: WebSearchTool. - 内置工具: google_search. - MCP工具: MCPFactCheckTool, MCPSourceTool. - OpenAPI工具: OpenAPIFactCheckTool.
- 长期运行操作
- LongRunningOperation + OperationManager 支持暂停/恢复和检查点。
- 会话和记忆
- InMemorySessionService 用于会话ID。 - PatternLearningMemory 跟踪分析中的模式并汇总源可靠性。
- 语境工程
- ContextCompactor 将上下文减少70-80%,同时保留关键信号。
- 可观察性和性能监控
- PerformanceMonitor + MonitoredMisinformationDetector 捕获: - 每个组件的时序, - 总持续时间, - 错误计数, - 绩效总结报告。
- A2A协议(代理到代理通信)
- A2AProtocol 和 A2AMessage 提供基于消息的代理协调。
- 部署
- FastAPI代码段 /analyze 和 /health. - 用于容器化部署的Dockerfile,适用于Cloud Run。
______________________________________________________________________
6.评估和测试
6.1笔记本测试套件
笔记本包括:
- 示例1 “地球是平的,美国国家航空航天局一直在隐瞒这一事实……”
- 被检测为具有高风险的错误信息和误导/错误判断。
- 示例2 美国国家航空航天局关于地球圆度的可信内容。
- 检测为TRUE,可信度更高,特别是在给定NASA URL时。
6.2扩展的8场景套件
- 医学错误信息(疫苗/自闭症)。
- 否认气候变化。
- 可靠的科学内容(自然/世界卫生组织/科学)。
- 误导精心挑选的事实。
- 阴谋论(登月)。
- 可靠的卫生信息(世界卫生组织根除天花)。
- 金融骗局式的信息传递。
- 可靠的技术新闻。
每次运行打印:
- 可信度评分、风险水平、判断、信心。
- 推理。
- 提取的索赔数量。
- 根据索赔事实核查判决和保密情况。
- A. 测试总结 表涵盖所有场景。
6.3引用场景包
一个专用的细胞运行一个 场景包 真实世界的声明,包括最近的美国政府公告和公共卫生事实,以验证:
- 来自高可信度来源的真实声明会产生真实+低风险的判断。
- 证据来源的引用在可用时浮出水面。
______________________________________________________________________
7.交互式ADK Web用户界面
该项目还与 ADK Web用户界面:
- 定义应用程序(
misinformation_detector_app)与aroot_agent这总是叫aMisinformationDetectionTool,包裹RateLimitedDetector. - 支持:
- 交互式聊天, - 轨迹可视化, - 从会话中创建评估集, - 使用响应匹配分数和工具轨迹分数等指标进行评估。
这提供了一个 视觉、交互方式 探索代理的行为,并为关键案例创建回归测试。
______________________________________________________________________
8.部署
8.1 FastAPI API
POST /analyze–接受content可选source_url,返回可信度评分、风险水平、判断、推理和信心。GET /health简单的健康检查。
8.2 Docker和云运行
- Dockerfile:
- Python 3.11精简版。 - 安装需求并运行 uvicorn 在端口8080上。
- 这适用于部署到 谷歌云运行 或任何容器主机。
______________________________________________________________________
9.如何跑步(高级)
- 在笔记本上
检测器=速率限制检测器() 结果=等待检测器。分析( content=“您要在此处分析的内容”, source_url=“https://optional-source-url.com" ) 打印(结果.争议,结果.可信度_核心,结果.推理) 2\. 通过FastAPI(一旦部署)
- POST /analyze JSON正文:
{“content”:“要分析的文本”,“source_url”:https://optional-source.com" } 3\. 在ADK Web用户界面中
- 跑 adk web 从项目目录中。
- 打开代理URL。
- 选择 misinformation_detector 应用程序。
- 类型:\ “分析以下内容中的错误信息:‘地球是平的,美国国家航空航天局一直在隐瞒这一事实。’”
- 检查跟踪和评估工具。
______________________________________________________________________
10.提交摘要
- 轨道:代理商为好
- 问题:错误信息和虚假信息检测
- 解决方案:具有多源验证和交互式评估UI的多代理人工智能系统
- 概念演示多代理架构、四种工具类别、长时间运行操作、会话和内存、上下文工程、可观察性、A2A协议、部署。
简而言之,这是一个实用的、端到端的例子,说明如何使用代理、工具和Gemini来推理在线内容的可信度。
