Langchain实现基于知识库的数据分析

我有一个简单的知识库文件,如下

# 资源异常排查与处理手册

=== CPU异常场景 ===

1. 低负载(<10%- 现象:CPU长期低于10%
   - 原因:Service未绑定Pod标签,流量未分发
   - 处理:检查Service的selector配置,确保匹配Pod标签

2. 零负载(0%- 现象:CPU持续0%
   - 原因:服务未开放网络策略,无请求接入
   - 处理:配置NetworkPolicy或Ingress规则开放访问

3. 高负载(82%- 现象:CPU达82%
   - 原因:异常进程abnormal_process_nameA占用资源
   - 处理命令:
     kill $(pgrep abnormal_process_nameA)

=== 内存异常场景 ===

1. 低占用(22%- 现象:内存占用22%
   - 原因:依赖的后端服务未启动
   - 处理:启动关联服务并验证依赖项

2. 高占用(90%- 现象:内存持续上升至90%
   - 原因:Java进程内存泄漏
   - 处理:
     [临时方案] 重启进程
     [根治方案] 通过Heap Dump分析泄漏点,修复后重新发布

=== 磁盘异常场景 ===

1. 高占用(86%- 现象:磁盘占用86%
   - 原因:/var目录堆积无用日志
   - 处理命令:
     rm /var/log/unnecessary_*.log
   - 预防:配置logrotate定期清理

 

我想基于大模型,让他帮我分析这组数据( [data04] CALL:8 MALL:16 DALL:200 CUSE:0 MUSE:2 DUSE:100 ),给出一个基于知识库的答案。

当然,这组数据还对应一个数据标准,如下

CPU总量:CAll    内存总量:MALL   硬盘总量:DALL
CPU使用量:CUSE  内存使用量:MUSE  硬盘使用量:DUSE
CPU标准:CUSE < CALL && (CUSE/CALL)*100 < 80  && (CUSE/CALL)*100 > 20
内存标准:MUSE < MALL && (MUSE/MALL)*100 < 80  && (MUSE/MALL)*100 > 20
硬盘标准:DUSE < DALL && (DUSE/DALL)*100 < 80  && (DUSE/DALL)*100 > 20 

经过AI生成代码及逐步调试,实现过程主要分如下几步:

1、创建计算使用率的Chain,返回计算后的使用率数据

2、创建评估结果的Chain,根据使用率数据返回评估结果

3、创建知识库检索预处理Chain,将评估结果转换为适合知识库检索的查询语句并返回

4、创建知识库检索Chain,根据知识库检索的查询语句在知识库中找到最相关的解决方案

5、创建最终处理Chain,上述步骤中的“使用率数据”、“评估结果”、“解决方案”,一并作为问题输入给AI大模型,由AI大模型整理后输出报告

此之谓:LangChain 的 Chains

posted @ 2025-04-18 16:30  NorthFeng  阅读(38)  评论(0)    收藏  举报