Elastic 基于 RAG 的 AI 助手:利用 LLM 和私有 GitHub 问题分析应用程序问题

作者:来自 Elastic Bahubali Shetti

作为 SRE,分析应用程序比以往更加复杂。 你不仅必须确保应用程序以最佳状态运行以确保良好的客户体验,而且还必须了解某些情况下的内部工作原理以帮助排除故障。 分析基于生产的服务中的问题是一项团队运动。 它需要 SRE、DevOps、开发和支持才能找到根本原因并进行潜在的补救。 如果它有影响,那就更糟了,因为这是一场与时间的赛跑。 无论情况如何,都有大量信息需要消耗和处理。 这不仅包括客户正在经历的情况,还包括有助于提供最合适解决方案的内部数据。

Elastic 的 AI Assistant 有助于改进 SRE、DevOps、Dev 等的分析。 在使用自然语言问题的单个窗口中,你不仅可以使用一般信息进行分析,还可以将其与以下内容结合起来:

  • 来自内部 GitHub 存储库、Jira 等的问题。
  • 来自 Confluence 等内部 wiki 站点的文档。
  • 你的支持服务引起的客户问题
  • 和更多

在本博客中,我们将引导你了解如何:

  1. 将包含代码和问题的外部 GitHub 存储库(OpenTelemetry 演示存储库)提取到 Elastic 中。 应用 Elastic Learned Sparse EncodeR (ELSER) 并将其存储在 AI 助手的特定索引中。
  2. 将包含 Runbook 信息的内部 GitHub 存储库提取到 Elastic 中。 应用 ELSER 并将处理后的数据存储在AI助手的特定索引中。
  3. 使用 AI 助手分析 Elastic 中的 OpenTelemetry 演示的问题时,请使用这两个索引。

使用 GitHub 数据和 AI Assistant 解决 3 个简单问题

在我们完成从 GitHub 设置数据的步骤之前,让我们回顾一下 SRE 可以使用 AI 助手和 GitHub 存储库做什么。

我们最初使用 Elastic GitHub 连接器连接到 GitHub,并提取和处理两个存储库:OpenTelemetry 演示存储库(公共)和内部 Runbook 存储库(Elastic 内部)。

通过 ELSER 加载并解析这两个之后,我们向 AI 助手询问一些分析过程中通常会问到的简单问题。

OpenTelemetry 演示有多少问题尚未解决?

由于我们提取了整个存储库(截至 2024 年 4 月 26 日),文档数量为 1,529,因此我们向它询问一个关于未解决问题总数的简单问题。 我们特别告诉 AI 助手搜索我们的内部索引,以确保 LLM 知道要求 Elasti c搜索其内部索引以获取问题总数。

Github AI Assistant issues number

基于 Rust 的 shippingservice有任何问题吗?

Elastic 的 AI Assistant 使用 ELSER 遍历加载的 GitHub 存储库,并找到针对 shippingservice 的未解决问题(这是撰写本文时的以下问题)。

Github AI Assistant shipping service issue

有 Cartservice 的操作手册吗?

由于我们加载了带有一些示例 Runbook 的内部 GitHub 存储库,因此 Elastic AI Assistant 可以正确找到该 Runbook。

Github AI Assistant Blog runbook

在浏览本博客时,我们将讨论 AI 助手如何使用 ELSER 发现这些问题,以及如何将其配置为使用你自己的 GitHub 存储库。

使用 Elastic AI Assistant 进行检索增强生成 (RAG)

Elastic 拥有最先进的基于 RAG 的 AI 助手,可实现可观察性和安全性。 它可以帮助你使用以下方式分析数据:

你最喜欢的 LLM(OpenAI、Azure OpenAI、AWS Bedrock 等)
你可以连接到或引入 Elastic 索引的任何内部信息(GitHub、Confluence、客户问题等)

Elastic AI 助手 —— 连接内外部信息

Elastic 的 AI Assistant 之所以能够做到这一点,是因为它支持 RAG,这有助于检索内部信息以及基于 LLM 的知识。

将 SRE 的相关内部信息添加到 Elastic 中:

  • 当数据进入时(例如在 GitHub 存储库中),ELSER 会应用于数据,并添加嵌入(稀疏向量场中的权重和标记)以捕获数据的语义和上下文。
  • 这些数据(GitHub、Confluence 等)经过嵌入处理并存储在 AI 助手可以搜索的索引中。

当你查询 AI 助手信息时:

  • 该查询与使用 ELSER 提取的数据经历相同的推理过程。 输入查询生成一个“稀疏向量”,用于在摄取的数据(GitHub、Confluence 等)中查找最相关的高排名信息。
  • 然后,检索到的数据与查询相结合,并发送到 LLM,然后 LLM 将添加自己的知识库信息(如果需要添加任何内容),或者可能要求 Elastic(通过函数调用)进行分析、绘制图表、甚至进一步搜索。 如果对 Elastic 进行函数调用并提供响应,LLM 会将其添加到其响应中。
  • 结果将是结合 LLM 和内部数据中任何相关内容的最基于上下文的答案。

应用程序、先决条件和配置

如果你想尝试本博客中的步骤,请满足以下一些先决条件:

  • Elastic Cloud 帐户 — 立即注册
  • OpenTelemetry 演示正在运行并连接到 Elastic(APM 文档)
  • 无论你想要使用什么内部 GitHub 存储库,以及一些对分析有用的信息(在我们的演练中,我们将使用一个 GitHub 存储库,其中包含 Elastic 进行演示时不同场景的 runbooks)。
  • 拥有你最喜爱或批准的 LLM 的帐户(OpenAI、Azure OpenAI、AWS Bedrock)

将 GitHub 存储库添加到 Elastic

第一步是设置 GitHub 连接器并连接到你的 GitHub 存储库。 Elastic 拥有来自 GitHub、Confluence、Google Drive、Jira、AWS S3、Microsoft Teams、Slack 等的多个连接器。 因此,虽然我们将在本博客中介绍 GitHub 连接器,但不要忘记其他连接器。

选择 GitHub 连接器并为其命名后,你需要添加两项:

  • GitHub token
  • URL open-telemetry/opentelemetry-demo

接下来,将其添加到向导中的索引中。

创建管道并使用 ELSER 处理数据

为了添加我们在上一节中讨论的嵌入,我们需要将以下内容添加到连接器:

  • 在配置向导中创建管道。
  • 创建自定义管道。
  • 添加 ML 推理管道。
  • 选择 ELSERv2 ML 模型以添加嵌入。
  • 选择需要作为推理管道一部分进行评估的字段。
  • 测试并保存推理管道和整体管道。

同步数据

现在管道已创建,你需要开始同步 github 存储库。 当来自 github 存储库的文档进入时,它们将通过管道并添加嵌入。

嵌入

设置管道后,同步连接器中的数据。 当 GitHub 存储库进入时,推理管道将按如下方式处理数据:

  • 当数据从 GitHub 存储库传入时,ELSER 会应用于数据,并添加嵌入(稀疏向量场中的权重和 tokens)以捕获数据的语义和上下文。
  • 该数据经过嵌入处理并存储在可由 AI 助手搜索的索引中。

当你查看提取的 OpenTelemetry GitHub 文档时,你将看到如何将权重和 tokens 添加到索引中的 Predicted_value 字段。

当用户向人工智能助手提出查询时,这些嵌入现在将用于查找上下文最相关的文档,人工智能助手可能会使用它。

检查 AI 助手是否可以使用索引

Elastic 的 AI 助手使用 ELSER 遍历加载的 Github 存储库,并找到针对 shippingservice 的未解决问题。 (这是撰写本文时的以下问题)。

Github AI Assistant shipping service issue

根据响应,我们可以看到 AI 助手现在可以使用索引来查找问题并用于进一步分析。

结论

你现在已经看到了 Elastic 基于 RAG 的 AI 助手的设置是多么容易。 你可以从多个位置(GitHub、Confluence、Slack 等)引入文档。 我们展示了 GitHub 和 OpenTelemetry 的设置。 这些内部信息可用于管理问题、加速解决和改善客户体验。 查看我们的其他博客,了解 AI 助手如何帮助 SRE 更好地分析、降低 MTTR 并改善整体运营:

  • 使用 Elastic AI Assistant 和 APM 分析 OpenTelemetry 应用程序
  • 用于可观察性的 Elastic AI 助手摆脱了 Kibana!
  • Elastic AI Assistant for Observability 和 Microsoft Azure OpenAI 入门
  • Elastic 8.13:Elastic AI Assistant for Observability 中 Amazon Bedrock 的 GA
  • 使用 AI Assistant for Observability 和组织的运行手册增强 SRE 故障排除
  • 使用 Elastic AI Assistant for Observability 获得情境感知洞察
  • Elastic AI Assistant for Observability 和 Amazon Bedrock 入门

试试看

现有 Elastic Cloud 客户可以直接从 Elastic Cloud 控制台访问其中许多功能。 没有利用云上的 Elastic? 开始免费试用。

所有这一切在你的环境中也是可能的。 今天就了解如何开始。

本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

在这篇博文中,我们可能使用或引用了第三方生成人工智能工具,这些工具由其各自所有者拥有和运营。 Elastic 对第三方工具没有任何控制权,我们对其内容、操作或使用不承担任何责任,也不对你使用此类工具可能产生的任何损失或损害负责。 使用人工智能工具处理个人、敏感或机密信息时请务必谨慎。 你提交的任何数据都可能用于人工智能培训或其他目的。 无法保证你提供的信息将得到安全或保密。 在使用之前,你应该熟悉任何生成式人工智能工具的隐私惯例和使用条款。

Elastic、Elasticsearch、ESRE、Elasticsearch Relevance Engine 和相关标志是 Elasticsearch N.V. 的商标、徽标或注册商标。 在美国和其他国家。 所有其他公司和产品名称均为其各自所有者的商标、徽标或注册商标。

原文:Elastic's RAG-based AI Assistant: Analyze application issues with LLMs and private GitHub issues | Elastic Blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/11249.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

回炉重造java----多线程

概念 注: main方法其实也是一个线程。在java中所以的线程都是同时启动的,至于什么时候,哪个先执行,完全看谁先得到CPU的资源。在java中,每次程序运行至少启动2个线程。一个是main线程,一个是垃圾收集(gc )线…

【Ubuntu】apt命令安装最新版本Nginx

目录 环境前言添加Nginx仓库步骤1、仓库公钥2、文本公钥转二进制GPG公钥(可选)3、添加apt软件源4、安装新版Nginx 参阅 环境 Ubuntu 22.04 前言 ubuntu官方apt软件仓库(或者叫软件源)的软件版本可能会比较旧,导致无…

AI算法-高数5-线性代数1-基本概念、向量

线性代数:主要研究1、张量>CV计算机视觉 2、研究张量的线性关系。 深度学习的表现之所以能够超过传统的机器学习算法离不开神经网络,然而神经网络最基本的数据结构就是向量和矩阵,神经网络的输入是向量,然后通过每个矩阵对向量…

使用 Flask Blueprint 实现模块化 Web 应用

文章目录 1. 什么是 Flask Blueprint?2. 为什么要使用 Flask Blueprint?3. 如何使用 Flask Blueprint?4. 在 Blueprint 之间进行通信5. 结合 Flask 插件系统进行功能拓展结语 当构建大型 Flask Web 应用时,保持代码的组织结构清晰…

遨游 JavaScript 对象星际:探索面向对象编程的深邃世界

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 💯面向对象编程🔗1 什么是对象🔗2 什么是…

免费SSL证书申请安装通用指南

JoySSL官网 注册码230918 关于SSL证书的申请与安装,以下是一个概括性的技术性指南,适合那些希望详细了解该过程的技术人员或网站管理员。请注意,具体步骤可能会根据证书颁发机构(CA)和服务提供商的不同而有所变化。 一、选择SSL证书类型与颁…

Postman工具介绍与安装

一、Postman介绍 Postman 乃是一款对 HTTP 协议予以支持的接口调试及测试工具,其突出特性在于功能强大,并且使用简便、易用性良好。不管是开发人员开展接口调试工作,还是测试人员进行接口测试任务,Postman 均属于首选工具之一。 接…

使用Python递归重命名文件和文件夹

使用 Python 递归重命名文件和文件夹可以通过 os 模块和 os.path 模块来完成。下面是一个示例代码,演示如何递归地重命名文件和文件夹: 1、问题背景 在研究大型数字档案时,需要将这些档案复制到本地存储进行保存。这些档案通常存储在 USB 驱…

吴恩达机器学习笔记:第 10 周-17大规模机器学习(Large Scale Machine Learning)17.3-17.4

目录 第 10 周 17、 大规模机器学习(Large Scale Machine Learning)17.3 小批量梯度下降17.4 随机梯度下降收敛 第 10 周 17、 大规模机器学习(Large Scale Machine Learning) 17.3 小批量梯度下降 小批量梯度下降算法是介于批量梯度下降算法和随机梯度下降算法之间的算法&am…

SpringBoot自动配置源码解析+自定义Spring Boot Starter

SpringBootApplication Spring Boot应用标注 SpringBootApplication 注解的类说明该类是Spring Boot 的主配置类,需要运行该类的main方法进行启动 Spring Boot 应用 SpringBootConfiguration 该注解标注表示标注的类是个配置类 EnableAutoConfiguration 直译&#…

沃尔玛自养号测评的优势是什么?有哪些技术要求

沃尔玛自养号测评的优势主要体现在以下几个方面: 1. 可控性强:自养号测评允许卖家完全掌控测评流程,包括账号的创建、管理、使用等,可以根据需要随时调整指定测评周期,确保测评效果最大化。 2. 安全性高:…

ae如何导出mp4格式?图文教程,手把手教您搞定

在创作精彩的视频内容后,将其成功导出为通用的MP4格式是确保作品在不同平台上流畅播放的重要一环。Adobe After Effects作为一款专业的视频后期制作工具,提供了丰富的功能来实现这一目标。在本文中,我们将通过图文教程,手把手地向…

牛客 二叉树 NB20 翻转牛群结构

[原题连接](翻转牛群结构_牛客题霸_牛客网 (nowcoder.com)) 这道题简单来讲就是给着棵树翻个面, 翻面后各个节点之间不会有子节点的交换, 但是每个节点的左右节点会做交换, 所以我们采用层序遍历来遍历二叉树, 在遍历的过程中交换每个节点的左右节点即可 public class Solutio…

Linux禁用危险命令和防止误操作

禁用rm命令 编辑/etc/profile文件,结尾添加 ###### rm prevent ###### alias rmecho can not use rm command使用source命令生效 source /etc/profile效果 使用mv命令代替rm命令 将需要删除的文件移动到特定的目录,比如/home/sharedir/ 在.bashrc目…

臻奶惠:社区牛奶直供领航者

在当今中国经济转型升级的紧要关头,随着人口红利的逐步减弱,消费升级趋势日益显著,传统行业面临着前所未有的变革与重组。在此背景下,臻奶惠凭借其独到的市场洞察力和前瞻的战略布局,聚焦于健康消费的新蓝海&#xff0…

spring cloud alibaba、spring cloud和springboot三者的版本兼容

官方版本说明地址: 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 组件版本关系 每个 Spring Cloud Alibaba 版本及其自身所适配的各组件对应版本如下表所示(注意,Spring Cloud Dubbo 从 2021.0.1.0 起已被移除出主干,不再随主干演进): Spring Cloud Alibaba Ve…

Multsim仿真电路:(十七)DC-DC降压电路原理简单仿真

1.前言 由于日常工作中,降压电路用的比较多,所以我只对降压DC-DC进行仿真,本质上还是自己学习记录,因为发现越深入要了解的东西就会越多,慢慢就脱离我现在使用的范畴,就又会变成空空的学习,所以…

社交媒体数据恢复:密聊猫

一、概述 密聊猫是一款提供多种优质体验的手机社交聊天软件。通过这款软件,用户可以享受到多种不同的乐趣体验,如真人在线匹配、真实的交友体验等。同时,密聊猫也提供了数据恢复功能,帮助用户找回丢失的数据。 二、数据恢复步骤…

黑马甄选离线数仓项目day01(项目介绍)

课程介绍 项目名称 黑马甄选数仓形式 离线数仓开发业务类型 电商业务 电商介绍 B2B B2C C2C 项目属于 新零售电商 新零售 线上(网站,app,小程序) 线下(实体体验店) 物流(自营物流) 项目行业 果蔬生鲜领域 商业模式 B…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《规模化屋顶光伏接入配电网的建设决策》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…