让 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/7/25 7:44:32 阅读更多 →
推荐系统的技术债:实验平台和特征管道比模型本身更难维护

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

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

2026/7/25 6:06:29 阅读更多 →
推荐系统推理服务化:特征抽取和模型推理拆成独立微服务

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

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

2026/7/25 13:50:21 阅读更多 →

最新新闻

Hello Nota

Hello Nota

Hello Nota 【免费下载链接】nota A document language for the browser 项目地址: https://gitcode.com/gh_mirrors/no/nota This is a Nota document with: ListsEmphasisCode 解析器首先识别顶级标题(ATXHeading1),然后处理段落和…

2026/7/25 22:49:59 阅读更多 →
MyBatis-Plus分库分表策略:HuLa-Server数据层高性能存储方案

MyBatis-Plus分库分表策略:HuLa-Server数据层高性能存储方案

MyBatis-Plus分库分表策略:HuLa-Server数据层高性能存储方案 【免费下载链接】HuLa-Server ☕️ HuLa Server, a high-performance instant messaging service built on Spring AI, SpringCloud Alibaba, SpringBoot3, Netty, MyBatis-Plus and RocketMQ(HuLa 服务端…

2026/7/25 22:49:59 阅读更多 →
Spring Boot+Vue音乐网站实战:从架构到部署的全栈开发指南

Spring Boot+Vue音乐网站实战:从架构到部署的全栈开发指南

在实际 Java Web 项目中,一个完整的音乐网站涉及的技术栈远比简单的增删改查复杂。它需要处理音频文件的存储与播放、用户交互的实时性、前后端数据的分离与协作,以及后台管理的便捷性。对于希望深入理解 Spring Boot 和 Vue 如何协同工作,并构建一个具备完整业务闭环项目的…

2026/7/25 22:49:59 阅读更多 →
大模型应用开发实战:从提示工程到智能体系统

大模型应用开发实战:从提示工程到智能体系统

1. 大模型应用开发全景认知大模型技术正在重塑软件开发范式。过去半年,我主导了三个企业级大模型应用的落地,从最初的提示词调优到最终构建自主决策的智能体系统,踩过不少坑也积累了一些实战心得。与传统的软件开发不同,大模型应用…

2026/7/25 22:49:59 阅读更多 →
fanplayer开发指南:从零开始构建自定义视频播放器

fanplayer开发指南:从零开始构建自定义视频播放器

fanplayer开发指南:从零开始构建自定义视频播放器 【免费下载链接】fanplayer A portable video player based on ffmpeg for windows and android platform. 项目地址: https://gitcode.com/gh_mirrors/fa/fanplayer fanplayer是一款基于ffmpeg的跨平台视频…

2026/7/25 22:49:59 阅读更多 →
AI驱动PPT自动化生成:本地部署与API集成实战指南

AI驱动PPT自动化生成:本地部署与API集成实战指南

这次我们来看一个近期讨论度很高的AI工具组合:GPT-5.6和ppt-master。很多信息把它们混在一起谈,但核心其实是两个独立的东西。先说结论:GPT-5.6并非OpenAI官方发布的模型,而是一个在社区中流传的、据称能力更强的开源模型版本&…

2026/7/25 22:48:59 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻