RAG初探:让 AIOps Agent 学会查询历史故障
📅 2026/7/23 14:18:35
👁️ 次浏览
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
1. 跨职能团队中的提示工程落地困境 在AI技术快速落地的今天,提示工程(Prompt Engineering)已成为连接业务需求与技术实现的关键桥梁。但当我们试图在跨职能团队中推进提示工程项目时,资源协调问题往往成为最大拦路虎。产品经理想…
📅 2026/7/23 14:18:35
1. 从寄存器表到可运行代码:音频编解码器配置实战心法搞嵌入式音频开发,尤其是用TI的Codec,最头疼的莫过于面对动辄几百页的数据手册和密密麻麻的寄存器表。手册里每个比特位都讲得清清楚楚,但真到了写代码的时候,还是…
📅 2026/7/23 14:18:34
一、简介
本文主要介绍易百纳玄武S3上RK182X模型转化环境搭建, 主要涉及CUDA环境搭建以及python依赖环境搭建。
二、硬件要求
准备一台带有NVIDIA显卡的X86架构计算机(模型转换需要CUDA环境)。
三、系统要求
Ubuntu22.04系统
四、源码获取
模型转…
📅 2026/7/23 14:18:34
1. 先搞清楚“拯救废片”到底能解决什么问题看到“拯救废片就像呼吸一样简单”这种标题,很多人的第一反应是“这工具是不是能一键修复所有拍坏的照片”。但实际测试下来,这类工具真正能稳定处理的,往往集中在几个特定场景:曝光不足…
📅 2026/7/23 15:39:27
医疗影像元数据的存储架构:DICOM标准与海量小文件的数据库管理
一、当PACS系统被百万级小文件淹没
一家三甲医院的放射科每天产生约3000份CT、MRI、X光影像。听起来不多,但每份DICOM文件平均500KB到5MB不等,而一份CT检查可能包含200-500张切片…
📅 2026/7/23 15:39:27
对于技术博客创作来说,输入材料“全40集【2026外研版英语五年级上册】课本同步精讲 课文单词(2026新课标)配套习作PDF”明显属于教育类视频课程内容,而非技术开发、工程实践或编程相关主题。 我的专长是撰写Java、Python、前端、…
📅 2026/7/23 15:39:27
像素是数码相机均匀网格离散采样的工程概念;人眼视网膜≠CMOS 传感器,严格来说没有 “像素”。只能做类比,而且一定要区分两套流传很广的数据,同时结合你前面关心的「YUV、明暗 / 色彩分离」一起串起来。一、两组核心数字来源&…
📅 2026/7/23 15:39:27
在高校毕业季,毕业论文往往是压在学子心头的一座大山。从选题定题到框架搭建,从内容撰写到格式规范,繁琐的流程常常让专科、本科及研究生们焦头烂额。如今,百考通AI(https://www.baikaotongai.com)凭借智能…
📅 2026/7/23 15:39:27
一、行业核心定义与产品细分体系
锂离子动力电池是适配车辆及各类动力设备的专用储能供电系统,依托锂离子充放电原理实现能量储存、动力输出、制动能量回收及全域安全监控,是新能源装备的核心核心零部件,直接决定设备续航、动力、安全及成本水…
📅 2026/7/23 15:38:27
更多请点击:
https://intelliparadigm.com
第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…
📅 2026/7/23 0:00:26
最近好多同行在群里问 geo s1230 到底值不值得买。说实话,这机器在二手市场挺火。但水很深,新手很容易踩雷。我干了十年设备维护,见过太多冤大头。今天不扯虚的,直接上干货。先说价格,心里得有底。目前成色不错的二手货,大概在一万二到一万五之间。如果低于八千,别犹豫,…
📅 2026/7/23 0:01:16
更多请点击:
https://codechina.net
第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现࿱…
📅 2026/7/23 0:01:26
1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…
📅 2026/7/23 1:06:38
1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…
📅 2026/7/23 1:06:38
更多请点击:
https://intelliparadigm.com
第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…
📅 2026/7/23 1:06:38
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/23 7:06:56
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/22 17:06:14
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/23 5:06:50