让 AIOps Agent 学会查询历史故障
RAG 是什么RAG全称 Retrieval-Augmented Generation检索增强生成。先查询最新的知识如果有合适就基于这些知识回答如果没有再用历史的知识回答RAG 的思路是用户提问的时候先去知识库里捞几条相关文档把这些文档和问题一起拼进 prompt再让 LLM 基于这些事实来回答。相当于给LLM配置了一个内部资料包先看代码结构代码blog/code/├── main.py # 主流程分词检索 prompt 拼装 LLM 调用└── knowledge_base.py # 知识库存放运维文档knowledge_base.py这个文件很简单就是一个 Python 列表每个元素是一条运维文档包含 title 和 content 两个字段docs [{“title”: “Nginx 504 排查手册”,“content”: “Nginx 504 通常表示网关等待上游服务响应超时需要检查 upstream 服务耗时、业务服务日志、数据库慢查询和连接池。”},{“title”: “订单服务历史故障”,“content”: “订单服务曾经因为数据库连接池耗尽导致 /api/orders 接口大量超时最终在 Nginx 中表现为 504。”},# …]在真实生产里这里可以换成从 Confluence、内部 Wiki、Elasticsearch 里拉取的文档甚至是历史故障复盘记录。这个 Demo 用硬编码列表是为了让整个流程零依赖、能直接跑。main.py_tokenize 函数负责把文本拆成 tokendef _tokenize(text: str):text text.lower()tokens re.findall(r[a-z0-9]“, text) # 英文/数字按词切分chinese_parts re.findall(r”[\u4e00-\u9fff], text)for part in chinese_parts:if len(part) 1:tokens.append(part)else:tokens.extend(part[i:i 2] for i in range(len(part) - 1)) # 中文按 2 字片段切return set(tokens)retrieve 函数用关键词命中次数给文档打分取 top_k用集合求交集来算相关度简单粗暴但在小型知识库里够用def retrieve(query: str, top_k: int 2):query_tokens _tokenize(query)results []for doc in docs:text doc[“title”] doc[“content”]doc_tokens _tokenize(text)score len(query_tokens doc_tokens) # 交集大小 相关度if score 0:results.append({…})results.sort(keylambda x: x[“score”], reverseTrue)return results[:top_k]整条 RAG 链路在 main 里串起来用户问题↓retrieve() ← 关键词检索拿 top_k 文档↓build_prompt() ← 把文档 问题拼成 prompt↓call_llm() ← 发给 LLM拿回答↓打印结果以 “订单服务出现大量 504应该怎么排查” 为例跑一遍控制台输出大致如下 检索到的文档 Nginx 504 排查手册score4订单服务历史故障score3 构造出来的 Prompt 你是一个 Kubernetes 运维分析 Agent。…文档标题Nginx 504 排查手册文档内容Nginx 504 通常表示…文档标题订单服务历史故障文档内容订单服务曾经因为数据库连接池耗尽…… LLM 最终回答 根据知识库建议优先排查以下几点检查订单服务数据库连接池是否耗尽历史上曾出现此问题查看 Nginx upstream 日志确认超时节点确认 Pod 实例数和 CPU/内存状态…LLM 的回答里会引用到历史上连接池耗尽这条这就是 RAG 发挥作用的地方——纯靠通用知识是不会提这条的如果匹配的文档有5000字那全部都要塞给llm吗假设有 100 个故障案例文档每个文档 5000 字那就是50w字的全部发给llm不但提高了回答成本回答速度也会大大降低造成了大量浪费如果内容太长放进大模型上下文会浪费 token。并且里面主题太杂内容检索可能不知道这篇文档到底主要讲什么所以文档选取的时候一般选取最相关的top5并且文档需要拆分成更小的chunk类似这种标题订单服务大量 504现象Nginx 出现大量 504upstream_response_time 超过 60sPod CPU/内存正常Redis、MySQL、Kafka 连接正常排查过程查询 Nginx 日志确认是 upstream timeout查询业务日志发现调用三方接口耗时异常查询 PrometheusPod 资源无明显瓶颈查询链路追踪确认耗时集中在 external-api span根因三方接口响应慢导致业务线程阻塞Nginx 等待超时。处理临时调大线程池降级三方接口增加超时控制增加熔断策略关键词504, upstream timeout, external api, thread blocked, nginx这已经是一个完整知识单元现象 → 排查过程 → 根因 → 处理方案chunk和文档有什么关系简单来说完整的文档就相当于一本书一个chunk就是某页或者某一小节查资料时只摘抄相关小节而不是读完整本书和 RAG 用 chunk 逻辑完全一致chunk向量化原始文档切割后的成为不同的chunk通过embedding 模型转换成一段向量而提出的问题也会被转换成一段向量用户问题向量和所有 chunk 向量看哪个最相似最终返回最相似的几个 chunk提交给llm例如chunk订单服务大量 504Pod 正常Redis MySQL 正常最终是三方接口慢导致线程阻塞转换成向量[0.012, -0.233, 0.891, 0.056, …]用户问题订单接口大量 504但是 Pod 和数据库都正常怎么排查也转换成向量[ 0.021564, -0.156489, 0.089451, …]然后向量库会比较两者的向量看哪个最相似返回相似的chunk提交给llm总结一个最简 RAG 只需要三件事知识库、检索函数、拼 prompt 的逻辑RAG 的本质不是让 LLM 变聪明而是内部资料及时喂给它让它回答的更切近内部服务的内容而不是通用的内容RAG需要在海量的文档中搜索出最佳匹配的chunk来给llm提供依据回答问题联系我

相关新闻

abap PI使用函数入参出参作为接口参数

abap PI使用函数入参出参作为接口参数

首先创建一个函数,设置入参和出参格式并设置为远程函数编辑处理逻辑打开ESB 配置连接信息右击下图,导入SAP对象填写SAP账号信息在RFC内找到新创建的函数,可以搜索正常创建SI,入参和出差可以拖动刚才新增的RFC结构到该处&#xff0…

2026/8/18 9:35:14 阅读更多 →
推荐系统的技术债:实验平台和特征管道比模型本身更难维护

推荐系统的技术债:实验平台和特征管道比模型本身更难维护

推荐系统的技术债:实验平台和特征管道比模型本身更难维护 一、模型不是最难的部分——推荐系统的真实瓶颈藏在基础设施里 业界聊推荐系统,80% 的精力花在聊模型——双塔、DIN、DeepFM、多目标优化,各种前沿论文层出不穷。但在生产环境里跑了两…

2026/8/8 12:12:49 阅读更多 →
推荐系统推理服务化:特征抽取和模型推理拆成独立微服务

推荐系统推理服务化:特征抽取和模型推理拆成独立微服务

推荐系统推理服务化:特征抽取和模型推理拆成独立微服务 一、单体推理服务的性能天花板:特征与推理耦合引发的连锁故障 推荐系统上线初期,绝大多数团队的做法是把特征抽取和模型推理塞进同一个服务进程。请求进来 → 查用户画像 → 查物品特征…

2026/8/16 9:26:38 阅读更多 →

最新新闻

3 步搞定消息防撤回:RevokeMsgPatcher 让微信、QQ、TIM 的撤回功能彻底失效

3 步搞定消息防撤回:RevokeMsgPatcher 让微信、QQ、TIM 的撤回功能彻底失效

3 步搞定消息防撤回:RevokeMsgPatcher 让微信、QQ、TIM 的撤回功能彻底失效 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址…

2026/8/18 9:34:07 阅读更多 →
智能体面试准备(三十八):实时语音智能体架构(Realtime Voice Agents)

智能体面试准备(三十八):实时语音智能体架构(Realtime Voice Agents)

智能体面试准备(三十八):实时语音智能体架构(Realtime Voice Agents) 本文是 B 系列前沿延伸的第二篇。B24 讲了 GUI 智能体、B14 讲了工具调用、B25 讲了多模态、B26 讲了成本工程,但都默认"智能体读…

2026/8/18 9:34:07 阅读更多 →
STP生成树协议详解:从广播风暴到无环网络,原理、选举与配置实战

STP生成树协议详解:从广播风暴到无环网络,原理、选举与配置实战

1. 先搞清楚STP到底解决了什么问题,以及为什么需要它 如果你在一个办公室里,只有一台交换机连接着所有电脑,那网络很简单。但稍微大一点的网络,比如一个机房、一栋办公楼,为了防止单点故障,网络工程师会引入…

2026/8/18 9:34:07 阅读更多 →
调试串口被乱码劝退?SerialPlot 让数据流一分钟变波形

调试串口被乱码劝退?SerialPlot 让数据流一分钟变波形

调试串口被乱码劝退?SerialPlot 让数据流一分钟变波形 【免费下载链接】serialplot Small and simple software for plotting data from serial port in realtime. 项目地址: https://gitcode.com/gh_mirrors/se/serialplot SerialPlot 是一个基于 Qt 的轻量…

2026/8/18 9:34:07 阅读更多 →
阿里云One Key MCP:一键集成AI工具链,破解MCP生态碎片化难题

阿里云One Key MCP:一键集成AI工具链,破解MCP生态碎片化难题

1. 项目概述:阿里云 One Key MCP 服务登场最近在搞AI应用开发的朋友,估计都听说过MCP(Model Context Protocol)这个词。简单来说,它就像给各种AI模型(比如Claude、GPT)装上了一套标准化的“插件…

2026/8/18 9:34:07 阅读更多 →
芋道源码免费版:企业级后台一次装好的清单

芋道源码免费版:企业级后台一次装好的清单

芋道源码免费版:企业级后台一次装好的清单 【免费下载链接】ruoyi-spring-boot-all 芋道源码(无遮羞布版) 项目地址: https://gitcode.com/gh_mirrors/ru/ruoyi-spring-boot-all 去年夏天,同事小林神秘兮兮地告诉我,他花了199块买了一…

2026/8/18 9:33:01 阅读更多 →

日新闻

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF

告别逐帧截图:用 extract-video-ppt 快速提取视频中的 PPT 并一键导出 PDF 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 如果你还停留在"看网课 不停暂停 截图 …

2026/8/18 0:00:57 阅读更多 →
思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查

思源宋体TTF一站式上手:7个字重免费商用,从下载到上线的完整走查 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 你是不是也经历过这种时刻:设计稿里…

2026/8/18 0:00:58 阅读更多 →
华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate

华硕笔记本控制权回收指南:GHelper 如何用一个 10MB 文件替代 Armoury Crate 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, …

2026/8/18 0:00:59 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/18 9:15:35 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/18 9:06:28 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/18 9:04:56 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/17 18:54:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/17 18:55:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/17 18:55:55 阅读更多 →