NVIDIA 中国开发者日活动 中国・苏州 | 2025 年 11 月 14 日 了解详情
代理式 AI/生成式 AI

使用 NVIDIA Nemotron 构建日志分析多智能体自校正 RAG 系统

日志是现代系统的核心所在。然而,随着应用规模不断扩大,日志往往演变成一片冗长繁杂的文本海洋,充斥着重复与冗余信息,令人不堪重负。在这样的环境中,排查超时问题或定位错误配置的根本原因,无异于大海捞针。

这正是我们 AI 驱动的日志分析解决方案发挥作用之处。该方案基于 NVIDIA 生成式 AI 参考工作流,通过将检索增强生成(RAG)与基于图结构的多智能体工作流相结合,实现了日志解析、相关性评估以及查询的自动优化,显著提升了分析效率与准确性。

在本文中,我们将探讨该解决方案的架构、关键组件及其具体实现。开发者和运维人员无需深入分析日志堆砌,即可直接洞察故障背后的成因。

谁适合使用日志分析智能体?

  • QA 和测试自动化团队: 测试流程常产生大量难以解析的日志数据。我们的 AI 系统能够实现日志的自动汇总、聚类分析和根本原因识别,帮助 QA 工程师快速定位片状测试、逻辑错误或异常行为。
  • 工程与 DevOps 团队: 工程师通常需要处理来自应用、系统和服务等多种来源、格式各异的日志数据。我们的 AI 智能体可统一这些异构日志流,支持语义与关键词相结合的混合检索,并精准呈现最相关的日志片段,显著加快根因定位速度,减少紧急故障排查的压力。
  • CloudOps 与 ITOps 团队: 云环境带来了分布式服务与复杂配置的挑战。AI 日志分析可实现跨服务日志提取、集中化分析和早期异常检测,有效识别配置偏差或性能瓶颈。
  • 平台与可观察性管理者: 对于致力于提升系统可观察性的领导者而言,清晰的可见性至关重要。相比原始日志的海量堆积,我们的解决方案提供简洁、可操作的分析摘要,助力高效优先处理关键问题,持续优化产品体验。

日志分析智能体架构概述

日志分析智能体是一种基于大语言模型(LLM)的自校正、多智能体 RAG 系统,旨在从日志数据中提取有价值的洞察。该系统通过 LangGraph 实现工作流程的编排,协调多个智能体协同完成分析任务。

  1. 混合检索:结合 BM25 实现词法匹配,同时利用 NVIDIA NeMo Retriever 生成的嵌入构建 FAISS 向量库,以捕捉语义相似性。
  2. 重排序:通过 NeMo Retriever 对检索结果进行重排序,优先呈现相关性更高的若干条目。
  3. 评分:基于上下文相关性对候选文本片段进行评分。
  4. 生成:生成与上下文紧密关联的答案,而非简单输出原始日志内容。
  5. 自校正循环:当检索结果不充分时,系统自动重构查询并重新执行检索。
Diagram of the Log Analysis Agent, which routes user requests through a RAG Controller  to three agents—Relevancy Checker, Prompt Re-Writer, and Response Generator—before sending the final answer back to the user.
图1:日志分析智能体的架构图

多智能体智能:分工、协作、修正

该解决方案构建了一个有向图,其中每个节点均为特定功能的智能体,包括检索、重排序、分级、生成或转换。图中的边编码了决策逻辑,能够动态引导工作流程的执行。

  • 智能体 可在特定子任务中自主执行操作。
  • 条件性边界 通过设置,系统能够实现灵活适应,并在必要时回溯以完成自我修正。

关键组件:

组件 文件 用途
StateGraph bat_ai.py 由 `bat_ai.py` 实现,基于 LangGraph 构建节点。
GraphNodes graphnodes.py 在 `graphnodes.py` 中定义,实现工作流的图结构,包括检索、重排序、分级、生成及查询转换等功能。
GraphEdges graphedges.py 由 `graphedges.py` 实现,负责边的逻辑与状态转换。
Hybrid Retriever multiagent.py 在 `multiagent.py` 中实现,融合 BM25 与 FAISS 进行混合检索,并输出模型结果。
Binary Score 模型 binary_score_models.py 在 `binary_score_models.py` 中定义,用于分级任务的结构化输出。
工具与配置 utils.py and prompt.json `Utils.py` 提供通用工具函数,`prompt.json` 存储提示词模板。
表1 日志分析智能体的核心组件

所有源文件均可在 GitHub 的 GenerativeAIExamples 中获取。

幕后工作:检索、重排序与自我修正

混合检索:

HybridRetriever 类在 multiagent.py 中实现了多种检索机制的融合:

  • BM25Retriever 用于实现精确的词法评分,
  • FAISS 向量数据库 与 NVIDIA NeMo Retriever 模型(llama-3.2-nv-rerankqa-1b-v2)生成的嵌入,以支持语义相似性检索。

该双重策略在精度与召回率之间实现了平衡,既能捕捉关键字匹配的日志片段,也能识别语义相关的内容。

LLM 集成和重排序:

从 prompt.json 加载的提示模板可用于指导每项 LLM 任务,充分发挥 NVIDIA AI 端点的强大能力。

这些模型在工作流程的各个节点中进行编排,能够无缝完成检索、重排序以及答案生成等任务。

自校正循环:

如果初始检索结果不够理想,transform_query 节点将对用户的问题进行重写,以优化后续搜索。通过条件判断边(如 decide_to_generategrade_generation_vs_documents_and_question 评估结果)对输出进行分级,该工作流可选择进入最终答案生成阶段,或重新回到检索流程,进行下一轮迭代。

快速入门指南

克隆代码仓库:

git clone https://github.com/NVIDIA/GenerativeAIExamples.git
cd GenerativeAIExamples/community/log_analysis_multi_agent_rag

执行示例查询:

python example.py --log-file /path/to/your.log --question "What caused the timeout errors?"

系统将执行“检索、重排序、分级与生成”流程,以清晰地解析错误来源。

定制化与扩展功能

  • 微调: 可切换自定义大语言模型(LLM)或调整日志提示内容。
  • 行业适应性: 类似的多智能体工作流已成功应用于网络安全流程及自我修复的IT系统
  • 跨领域潜力: 在质量保证(QA)、DevOps、CloudOps 和可观测性(Observability)等领域均具备广泛应用前景。

从日志到洞察:关键原因

日志分析智能体展示了多智能体 RAG 系统如何将非结构化日志转化为可操作的洞察,有效缩短平均解决时间(MTTR),并提升开发者的整体工作效率。

  • 更快的调试速度: 几秒钟内即可定位问题,无需耗费数小时。
  • 更智能的根本原因分析: 提供基于上下文的精准解答,而非原始数据堆砌。
  • 广泛的跨领域应用: 适用于质量保证、DevOps、云运维及网络安全等多个领域。

日志分析之外

这只是一个开端。支持日志分析的多智能体工作流还可以进一步扩展为:

  • 错误再现自动化:将日志转化为可执行的测试用例。
  • 可观测性仪表盘:统一整合日志、指标与链路追踪数据。
  • 网络安全工作流:自动执行异常检测与漏洞排查。

亲自尝试:在您的日志中运行示例查询,体验多智能体 RAG 如何优化调试工作流程。分叉、扩展并贡献您自己的智能体——系统采用模块化设计,便于灵活定制与协作。

想了解如何使用生成式 AI NVIDIA NeMo Retriever 吗?探索更多示例与应用场景

参考资料

了解详情

欢迎观看我们的 Nemotron Labs 直播,获取实战学习经验、实用提示与技巧。

通过订阅 NVIDIA 新闻加入其社区,或在 LinkedInInstagramXFacebook 上关注 NVIDIA AI,及时获取关于代理式 AI、Nemotron 等技术的最新动态。

单击此处,探索更多自定进度的视频教程与直播课程这里.

 

标签