开始使用 Elastic AI Assistant 进行可观察性和 Microsoft Azure OpenAI

作者:Jonathan Simon

按照此分步过程开始使用 Elastic AI Assistant for Observability 和 Microsoft Azure OpenAI。

最近,Elastic 宣布,AI Assistant for Observability 现已面向所有 Elastic 用户开放。AI Assistant 为 Elastic Observability 提供了一种新工具,可提供大型语言模型 (LLM) 连接聊天和上下文洞察来解释错误并提出补救措施。与 Microsoft Copilot 作为引入新功能并提高开发人员工作效率的 AI 伴侣类似,Elastic AI Assistant 也是一种 AI 伴侣,可以帮助你快速从可观察性数据中获取额外价值。

这篇博文介绍了如何使用 Azure OpenAI 作为支持 LLM 来设置 AI Assistant for Observability 的分步指南。设置好 AI Assistant 后,本文将向你展示如何将文档添加到 AI Assistant 的知识库,并演示 AI Assistant 如何使用其知识库来改进其对特定问题的响应。

设置 Elastic AI Assistant 以实现可观察性:创建 Azure OpenAI 密钥

首先创建 Microsoft Azure OpenAI API 密钥来验证来自 Elastic AI Assistant 的请求。转到 Microsoft Azure 并使用现有订阅或在 Azure 门户上创建新订阅。

目前,通过申请访问权限即可授予对 Azure OpenAI 服务的访问权限。有关当前先决条件,请参阅 Microsoft 官方文档。

在 Azure 门户中,选择 Azure OpenAI。

在 Azure OpenAI 服务中,单击 “Create” 按钮。

输入实例 Name 并单击 Next

选择 Azure OpenAI 实例的网络访问首选项,然后单击 “Next”。

添加可选 Tags 并单击 Next

确认你的设置并单击 “Create” 以创建 Azure OpenAI 实例。

实例创建完成后,单击 Go to resource 按钮。

单击 Manage keys 链接以访问实例的 API 密钥。

复制你的 Azure OpenAI API 密钥和 Endpoint 并将它们保存在安全的地方以供后续步骤使用。

接下来,单击 “Model deployments” 以在刚刚创建的 Azure OpenAI 实例中创建部署。

单击 “Manage deployments” 按钮以打开 Azure OpenAI Studio。

单击创 Create new deployment 按钮。

选择要使用的模型类型并输入部署名称。记下部署名称以便在后续步骤中使用。单击 Create 按钮以部署模型。

为可观察性设置 Elastic AI Assistant:在 Elastic Cloud 中创建 OpenAI 连接器

本文中的其余说明将在 Elastic Cloud 中进行。你可以使用现有部署,也可以创建新的 Elastic Cloud 部署作为免费试用版(如果你是第一次尝试 Elastic Cloud)。另一种入门方法是从 Microsoft Azure Marketplace 创建 Elastic 部署。

下一步是在 Elastic Cloud 中创建 Azure OpenAI 连接器。在部署的 Elastic Cloud 控制台中,选择顶级菜单,然后选择 Stack Management

在堆栈管理页面上选择 Connectors

选择 Create connector

选择 Azure OpenAI 的连接器。

输入你选择的连接器 Name。选择 Azure OpenAI 作为 OpenAI 提供程序。

使用以下格式输入 Endpoint URL:

  • 将 {your-resource-name} 替换为你在上一步中在 Azure 门户中创建的 name of the Azure Open AI instance
  • 将 deploy-id 替换为你在上一步中在 Azure 门户中创建模型部署时指定的 Deployment name
  • 将 {api-version} 替换为 Azure OpenAI 参考页面的 Completions 部分中列出的有效支持版本之一。
https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}

你完成的 Endpoint URL 应如下所示:

https://example-openai-instance.openai.azure.com/openai/deployments/gpt-4-turbo/chat/completions?api-version=2024-02-01

输入你在上一步中复制的 API 密钥。然后单击 Save & test 按钮。

在 “Edit Connector” 弹出窗口中,单击 “Run” 按钮以确认连接器配置有效并且可以成功连接到你的 Azure OpenAI 实例。

成功的连接器测试应如下所示:

添加示例日志记录

现在你已使用 AI Assistant 连接器设置了 Elastic Cloud 部署,让我们添加一个示例日志记录来演示 AI Assistant 如何帮助你更好地理解日志数据。

我们将使用 Elastic Dev Tools 添加单个日志记录。单击顶级菜单并选择 Dev Tools

在开发工具的控制台区域中,输入以下 POST 语句:

POST /logs-elastic_agent-default/_doc
{
	"message": "Status(StatusCode=\"FailedPrecondition\", Detail=\"Can't access cart storage. \nSystem.ApplicationException: Wasn't able to connect to redis \n  at cartservice.cartstore.RedisCartStore.EnsureRedisConnected() in /usr/src/app/src/cartstore/RedisCartStore.cs:line 104 \n  at cartservice.cartstore.RedisCartStore.EmptyCartAsync(String userId) in /usr/src/app/src/cartstore/RedisCartStore.cs:line 168\").",
	"@timestamp": "2024-02-22T11:34:00.884Z",
	"log": {
    	"level": "error"
	},
	"service": {
    	"name": "cartService"
	},
	"host": {
    	"name": "appserver-1"
	}
}

然后单击绿色的 Run 按钮运行 POST 命令。

你应该会看到 201 响应,确认示例日志记录已成功创建。

使用 Elastic AI 助手

现在你已经有了可用的日志记录,让我们跳转到可观察性日志资源管理器,看看 AI 助手如何与日志数据交互。单击顶层菜单并选择可 Observability

选择 Logs Explorer 来探索日志数据。

在 Logs Explorer 搜索框中输入文本 “redis”,然后按 Enter 键执行搜索。

单击 View all matches 项按钮以包含所有搜索结果。

你应该会看到之前通过 Dev Tools 插入的一条日志记录。点击展开图标可查看日志记录的详细信息。

你应该会看到日志记录的扩展视图。我们不会自己尝试理解其内容,而是使用 AI 助手来总结它。单击 “What's this message?” 按钮。

我们得到了一个相当通用的答案。根据我们试图分析的异常或错误,这仍然非常有用,但我们可以通过向 AI Assistant 知识库添加其他文档来使其变得更好。

让我们看看如何使用 AI 助手的知识库来提高其对此特定日志消息的理解。

创建 Elastic AI Assistant 知识库

Observability 菜单中选择 Overview

单击窗口右上角的 AI Assistant 按钮。

单击 Install Knowledge base 按钮。

单击顶层菜单并选择 Stack Management

然后选择 AI Assistants

单击 Elastic AI Assistant for Observability

选择 Knowledge base 选项卡。

单击 New entry 按钮并选择 Single entry

将其命名为 “cartservice” 并输入以下文本作为内容:

Link: [Cartservice Intermittent connection issue](https://github.com/elastic/observability-examples/issues/25)
I have the following GitHub issue. Store this information in your knowledge base and always return the link to it if relevant.
GitHub Issue, return if relevant

Link: https://github.com/elastic/observability-examples/issues/25

Title: Cartservice Intermittent connection issue

Body:
The cartservice occasionally encounters storage errors due to an unreliable network connection.

The errors typically indicate a failure to connect to Redis, as seen in the error message:

Status(StatusCode="FailedPrecondition", Detail="Can't access cart storage.
System.ApplicationException: Wasn't able to connect to redis
at cartservice.cartstore.RedisCartStore.EnsureRedisConnected() in /usr/src/app/src/cartstore/RedisCartStore.cs:line 104
at cartservice.cartstore.RedisCartStore.EmptyCartAsync(String userId) in /usr/src/app/src/cartstore/RedisCartStore.cs:line 168')'.
I just talked to the SRE team in Slack, they have plans to implement retries as a quick fix and address the network issue later.

单击 “Save” 以保存新的知识库条目。

现在让我们回到 Observability Logs Explorer。单击顶级菜单并选择 Observability

然后选择 Logs 下的 Explorer

展开与之前相同的日志条目,然后单击 “What’s this message?” 按钮。

你现在得到的答复应该更加相关。

使用包含你自己数据的知识库试用 Elastic AI Assistant

现在你已经了解了为可观察性设置 Elastic AI Assistant 是多么容易,请继续亲自尝试一下。注册免费 14 天试用版。你可以在几分钟内快速启动 Elastic Cloud 部署,并拥有自己的搜索驱动的 AI 知识库,以帮助你完成最重要的工作。

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

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

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

原文:Getting started with the Elastic AI Assistant for Observability and Microsoft Azure OpenAI — Elastic Observability Labs

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp—android原生插件开发(1环境准备)

本篇文章从实战角度出发,将UniApp集成新大陆PDA设备RFID的全过程分为四部曲,涵盖环境搭建、插件开发、AAR打包、项目引入和功能调试。通过这份教程,轻松应对安卓原生插件开发与打包需求! 项目背景: UniApp集成新大陆P…

git新手使用教程

git新手使用教程 一、安装和初始化配置2、新建仓库3.工作区域和文件状态4.添加和提交文件5 git reset回退版本6 使用git diff查看差异7 使用git rm删除文件8 .gitignore忽略文件9 注册GitHub账号10 SSH配置和克隆仓库11 关联本地仓库和远程仓库12 Gitee的使用 由B站视频教程整理…

java程序优化二

接触渲染也有一段时间了,发现还有很多优化的空间,今天时间比较有限就提一点 一:从参数接口方面,例如提交渲染接口参数有大量的浮点数据,小数位过多,其实四舍五入保留4位也没什么影响,这样大小接…

分布式----Ceph部署(上)

目录 一、存储基础 1.1 单机存储设备 1.2 单机存储的问题 1.3 商业存储解决方案 1.4 分布式存储(软件定义的存储 SDS) 1.5 分布式存储的类型 二、Ceph 简介 三、Ceph 优势 四、Ceph 架构 五、Ceph 核心组件 #Pool中数据保存方式支持两种类型&…

在SpringBoot3中启用HTTP2

为什么要在SpringBoot中启用HTTP2 启用HTTP2可以带来更高效的数据传输、更优的性能表现以及更好的用户体验。 二进制格式传输数据:HTTP2采用二进制格式传输数据,而非HTTP1.x的文本格式,这使得协议解析更高效,且便于扩展。 头部压…

HCIP(核心技术篇)—RSTP实验配置

一、回顾STP和STP的缺点和不足 1.STP的概述: STP(生成树协议)是一种用于在网络中防止产生环路的链路管理协议。 2.STP的作用: 解决二层环路,防止广播报文产生。但是网络拓扑收敛较慢,影响通信质量。 3…

【数据库实验一】数据库及数据库中表的建立实验

目录 实验1 学习RDBMS的使用和创建数据库 一、 实验目的 二、实验内容 三、实验环境 四、实验前准备 五、实验步骤 六、实验结果 七、评价分析及心得体会 实验2 定义表和数据库完整性 一、 实验目的 二、实验内容 三、实验环境 四、实验前准备 五、实验步骤 六…

在线绘制cancer cell同款双向条形图展示富集结果

导读:将上调和下调pathway富集结果以双向条形图的形式在一张图中展示,不仅优化了绘图空间,还通过对称布局增强了图片的美观性。 《Cancer cell》文章“Cross-tissue human fibroblast atlas reveals myofibroblast subtypes with distinct ro…

Linux(文件特殊属性 + FACL 图片+大白话)

后面也会持续更新,学到新东西会在其中补充。 建议按顺序食用,欢迎批评或者交流! 缺什么东西欢迎评论!我都会及时修改的! 在这里真的很感谢这位老师的教学视频让迷茫的我找到了很好的学习视频 王晓春老师的个人空间…

json转excel,读取json文件写入到excel中【rust语言】

一、rust代码 将json文件写入到 excel中。(保持json :key原始顺序) use indexmap::IndexMap; use serde::Deserialize; use serde_json::{Value, from_str}; use std::error::Error; use std::io::{self, Write}; use std::path::{Path}; u…

理想火车站定位(字节青训)

题目 小F是A市的市长,正在计划在A市新建一个火车站以方便市民的日常出行。市区内的街道布局十分规整,形成网格状。从一个位置[x1, y1]到另一个位置[x2, y2]的距离计算方法为 |x1 - x2| |y1 - y2|,即曼哈顿距离。 在初步考察后,…

5位机械工程师如何共享一台工作站的算力?

在现代化的工程领域中,算力已成为推动创新与技术进步的关键因素之一。对于机械工程师而言,强大的计算资源意味着能够更快地进行复杂设计、模拟分析以及优化工作,从而明显提升工作效率与项目质量。然而,资源总是有限的,…

使用微信云开发,实现链接激活微信小程序(微信内部和外部H5访问)

首先小程序项目开发,需得支持云开发如何开通云开发?(网上教程很多,也很全面,这里仅带过) 配置云函数在项目根目录找到 project.config.json 文件,新增 cloudfunctionRoot 字段,指定本…

NVM 介绍及使用指南

在日常的开发工作中,我们往往会遇到需要在同一台机器上同时管理多个版本的 Node.js 的情况。为了解决这个问题,我一个同事推荐了NVM(Node Version Manager)。NVM 是一个用于管理 Node.js 版本的工具,可以方便地在不同的…

vscode 全局搜索的用法:

搜索栏最右边功能是区分大小写,全字匹配(比如搜索abc,就不会显示abcd或者ab这些内容),使用正则表达式。变成高亮就是开启对应功能。包含的文件:这栏里如果最右边高亮填入带路径的文件,指的是在文…

如何从 Nutanix 迁移至 SmartX 超融合?解读 4 类迁移方案和 2 例迁移实践

随着 Nutanix(路坦力)将大陆区域的销售和部分维保工作交由联想负责,不少用户也在寻求 Nutanix 的替代方案。现阶段是否有必要换掉 Nutanix?有哪些成熟的国产替代方案?这些方案在性能和功能上是否具备与 Nutanix 同等的…

C++常见概念问题(3)

C常见概念问题(3) 1. 构造函数的初始化顺序 基类构造函数:在派生类的构造函数中,基类的构造函数在派生类构造函数体执行之前调用。 成员变量初始化:类中的成员变量会按照其在类中声明的顺序进行初始化,而…

「QT」几何数据类 之 QVector2D 二维向量类

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…

运维智能化转型:AIOps引领IT运维新浪潮

1. AIOps是什么? AIOps(Artificial Intelligence for IT Operations),即人工智能在IT运维中的应用,通过机器学习技术处理运维数据(如日志、监控信息和应用数据),解决传统自动化运维…

C++练习 二维数组的应用

1&#xff09;超女有3个小组&#xff0c;每组有4名选手&#xff0c;请提供一个界面&#xff0c;输入每个超女的体重&#xff0c;然后&#xff0c;计算出每组的超女的平均体重和全部超女的平均体重。 #include <iostream> using namespace std;int main() {float sum1 0…