使用LangChain的自定义Tool+Agent, 构建全新的AIOps故障分析流程?

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 如果能够利用LangChain的Agent对问题的推理、任务的编排能力, 再进一步结合自定义的检查脚本工具, 是否就能够更好的实现故障分析的流程化智能编排和执行。

前言思考:

ChatGPT最近可谓是火炸地球。 伴随着这一波LLM热, 各种使用方式也是层出不穷, AutoGPT, agentGPT, 以及看上去更加完善的LangChain都在不断刷新大家的认知。

而本人则一直在AIOps领域做应用研究,如何结合LLM, LangChain,实现更好的更智能化的根因分析,故障分析则是一个很有价值,也很贴合时势的话题。 目前看来, 在AIOps领域中有几个很有前景的应用场景:

  1. 智能答疑机器人:

更智能化的答疑机器人, 进一步降低答疑成本, 完全覆盖可用文档回答的问题。

  1. 故障分析(工单分析):
  • 微软最近刚刚发布了一篇关于LLM应用在故障报告分析的论文: 《Recommending Root-Cause and Mitigation Steps for Cloud Incidents using Large Language Models》帮助大家打开了一些思路。
  • 这篇论文更多的是从历史故障文本(故障描述、根因报告、推荐方案)中进行推理和总结, 从而实现对新出现问题的推荐根因和推荐解决方案。
  • 而无论在真实的根因分析流程中,还是工单分析中, 我们自己的代码是可以看到真实发生的指标,日志,trace,告警事件数据的。 如何把这些更多的数据输入给LLM?

因此, 如果能够利用LangChain的Agent对问题的推理、任务的编排能力, 再进一步结合自定义的检查脚本工具, 是否就能够更好的实现故障分析的流程化智能编排和执行。

因此本文介绍第一步: 如何使用LangChain的自定义tool,来实现定制化的执行脚本需求。

首先是先定义一个AI model

1683612736065-3612e320-352c-4a4e-bc3c-6f6ba8629dd7.png

使用官方标准Tools

例如我们可以用SERPAPI tool进行搜索服务。

ps: 对应的api-key可以在这里申请https://serpapi.com/manage-api-key

1683614953926-b466f94a-e4fd-40b1-8eab-64934ea01b9a.png

自定义Tools

这里我们定义了1个tool, 该tool主要是针对应用监控领域中, 对应用状态的检查。 这里我们只是象征的表达一下, 真实的检查逻辑比这个复杂很多。

同时, 我们也可以自定义搜索的tool。 这样我们的tools,可以支持在线搜索, 也可以支持针对我们定制化的任务执行。

1683615050325-55181b2a-9b01-4150-8ce5-894cac0c46c1.png

定义一个agent

1683615111622-17afcdb3-a6eb-4d9b-8c31-ce64c51a8826.png

输入问题进行测试

case1, 公开问题,执行在线搜索 "How old is lebron james?"

1683615135839-2cfc9a69-79b9-4848-aa4c-f98acf5a345d.png

case2 特定领域问题, 支持使用自定义tool完成任务: "what is the status of application app_name_1?"

1683615183639-4aaa6733-f8be-48d6-ba0a-426cadcc24bf.png

参考:

  1. https://python.langchain.com/en/latest/modules/agents/tools/custom_tools.html
  2. https://github.com/gkamradt/langchain-tutorials/blob/main/LangChain%20Cookbook%20Part%201%20-%20Fundamentals.ipynb
  3. https://www.youtube.com/watch?v=_v_fgW2SkkQ&list=PLqZXAkvF1bPNQER9mLmDbntNfSpzdDIU5
  4. https://www.bilibili.com/video/BV1bh411j7mE/?p=7



相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
1月前
langchain 入门指南 - 使用 Agent
langchain 入门指南 - 使用 Agent
87 0
|
27天前
|
存储 人工智能
|
27天前
|
数据采集 存储 Java
Flume Agent 的内部原理分析:深入探讨 Flume 的架构与实现机制
【8月更文挑战第24天】Apache Flume是一款专为大规模日志数据的收集、聚合及传输而设计的分布式、可靠且高可用系统。本文深入解析Flume Agent的核心机制并提供实际配置与使用示例。Flume Agent由三大组件构成:Source(数据源)、Channel(数据缓存)与Sink(数据目的地)。工作流程包括数据采集、暂存及传输。通过示例配置文件和Java代码片段展示了如何设置这些组件以实现日志数据的有效管理。Flume的强大功能与灵活性使其成为大数据处理及实时数据分析领域的优选工具。
56 1
|
1月前
|
机器学习/深度学习 自然语言处理 算法
LangChain 构建问题之智能体协同中的决策机制的实现如何解决
LangChain 构建问题之智能体协同中的决策机制的实现如何解决
27 1
|
1月前
|
存储 人工智能 自然语言处理
从API到Agent:万字长文洞悉LangChain工程化设计
本文作者试着从工程角度去理解LangChain的设计和使用。大家可以将此文档作为LangChain的“10分钟快速上手”手册,希望帮助需要的同学实现AI工程的Bootstrap。
|
1月前
|
人工智能 自然语言处理 前端开发
LangChain 构建问题之MetaGPT 和 ChatDev 的支持功能差异如何解决
LangChain 构建问题之MetaGPT 和 ChatDev 的支持功能差异如何解决
33 0
|
1月前
|
数据可视化 Unix Linux
LangChain 构建问题之可视化智能代理对游戏的生成过程如何解决
LangChain 构建问题之可视化智能代理对游戏的生成过程如何解决
9 0
|
1月前
|
开发框架 Unix Linux
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
LangChain 构建问题之在Unix/Linux系统上设置OpenAI API密钥如何解决
34 0
|
1月前
|
存储
LangChain 构建问题之MetaGPT 对复杂任务的处理如何解决
LangChain 构建问题之MetaGPT 对复杂任务的处理如何解决
30 0
|
1月前
|
API Python
LangChain 构建问题之训练自己的ToolLLaMA模型如何解决
LangChain 构建问题之训练自己的ToolLLaMA模型如何解决
9 0

热门文章

最新文章