开始使用 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 relevantLink: https://github.com/elastic/observability-examples/issues/25Title: Cartservice Intermittent connection issueBody:
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

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

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

相关文章

vue2项目启用tailwindcss - 开启class=“w-[190px] mr-[20px]“ - 修复tailwindcss无效的问题

效果图 步骤 停止编译"npm run dev"安装依赖 npm install -D tailwindcssnpm:tailwindcss/postcss7-compat postcss^7 autoprefixer^9 创建文件/src/assets/tailwindcss.css,写入内容: tailwind base; tailwind components; tailwind utiliti…

深度学习——AE、VAE

🌺历史文章列表🌺 机器学习——损失函数、代价函数、KL散度机器学习——特征工程、正则化、强化学习机器学习——常见算法汇总机器学习——感知机、MLP、SVM机器学习——KNN机器学习——贝叶斯机器学习——决策树机器学习——随机森林、Bagging、Boostin…

【数字图像处理+MATLAB】基于 Sobel 算子计算图像梯度并进行边缘增强:使用 imgradientxy 函数

引言 在图像处理中,边缘通常是图像中像素强度变化最大的地方,这种变化可以通过计算图像的梯度来量化。梯度是一个向量,它的方向指向像素强度增加最快的方向,它的大小(或者说幅度)表示像素强度增加的速度。…

建设展示型网站企业渠道用户递达

展示型网站的主要作用便是作为企业线上门户平台、信息承载形式、拓客咨询窗口、服务/产品宣传订购、其它内容/个人形式呈现等,网站发展多年,现在依然是企业线上发展的主要工具之一且有建设的必要性。 谈及整体价格,自制、定制开发、SAAS系统…

无桥Boost-PFC 双闭环控制MATLAB仿真

一、无桥Boost-PFC原理概述 无桥 Boost-PFC(Power Factor Correction,功率因数校正)的工作原理是通过特定的电路结构和控制策略,对输入电流进行校正,使其与输入电压同相位,从而提高电路的功率因数&#xf…

java访问华为网管软件iMaster NCE的北向接口时传递参数问题

上一篇文章介绍了利用《java访问华为网管软件iMaster NCE的北向接口》的一般性步骤,这里详细介绍其中一个读取性能数据的示例。原因是读取华为网管软件北向接口,完全找不到可供参考的例子。如果不需要传递什么参数,就能获取到结果&#xff0c…

深度学习之pytorch常见的学习率绘制

文章目录 0. Scope1. StepLR2. MultiStepLR3. ExponentialLR4. CosineAnnealingLR5. ReduceLROnPlateau6. CyclicLR7. OneCycleLR小结参考文献 https://blog.csdn.net/coldasice342/article/details/143435848 0. Scope 在深度学习中,学习率(Learning R…

【扩散——BFS】

题目 代码 #include <bits/stdc.h> using namespace std; const int t 2020, off 2020; #define x first #define y second typedef pair<int, int> PII; int dx[] {0, 0, 1, -1}, dy[] {-1, 1, 0, 0}; int dist[6080][6080]; // 0映射到2020&#xff0c;2020…

Linux软件包管理与Vim编辑器使用指南

目录 一、Linux软件包管理器yum 1.什么是软件包&#xff1f; 2.什么是软件包管理器&#xff1f; 3.查看软件包 4.安装软件 ​编辑 5.卸载软件 Linux开发工具&#xff1a; 二、Linux编辑器---vim 1.vim的基本概念 (1) 正常/普通模式&#xff08;Normal mode&#xff0…

R门 - rust第一课陈天 -内存知识学习笔记

内存 #mermaid-svg-1NFTUW33mcI2cBGB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-1NFTUW33mcI2cBGB .error-icon{fill:#552222;}#mermaid-svg-1NFTUW33mcI2cBGB .error-text{fill:#552222;stroke:#552222;}#merm…

数据结构--数组

一.线性和非线性 线性&#xff1a;除首尾外只有一个唯一的前驱和后继。eg&#xff1a;数组&#xff0c;链表等。 非线性&#xff1a;不是线性的就是非线性。 二.数组是什么&#xff1f; 数组是一个固定长度的存储相同数据类型的数据结构&#xff0c;数组中的元素被存储在一…

Vue的基础使用

一、为什么要学习Vue 1.前端必备技能 2.岗位多&#xff0c;绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能&#xff08;Vue2Vue3&#xff09; 二、什么是Vue 概念&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套 构建用户界面 的 渐进式 框架…

unity单例模式的不同声明(待完善

总结&#xff1a; 这段代码实现了一个泛型单例模式&#xff08;Singleton Pattern&#xff09;&#xff0c;用于确保某个类&#xff08;由泛型参数 T 指定&#xff09;在整个应用程序中只有一个实例&#xff0c;并且在第一次访问时才创建该实例。该模式保证了该实例的全局唯一…

SpringBoot后端解决跨域问题

1.全局方式 新建一个conifg配置类&#xff0c;内容如下&#xff1a; Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**")//是否发送Cookie.allowCrede…

群控系统服务端开发模式-应用开发-前端登录接口开发

一、修改验证方法 1、修改验证器 loginRules: {username: [{required: true, trigger: blur, validator: validateUsername}],password: [{required: true, trigger: blur, validator: validatePassword}],captcha_code: [{required: true, trigger: blur, validator: validat…

stream学习

Stream流 定义 Steam流&#xff0c;用于操作集合或者数组中的数据&#xff0c;大量结合了Lamda表达式的语法风格&#xff0c;代码简洁。 重点&#xff1a; 流只能收集一次 ​ 获取Stream流 Stream流要与数据源建立连接。 1.list ​ 直接调用steam()即可 // list List<Stri…

计算机三级 数据库技术

第一章 数据库应用系统开发方法 1.1 数据库应用系统生命周期 软件工程:软件工程的思想&#xff0c;即用工程的概念、原理、技术和方法对软件生产、开发的全过程进行跟踪和管理 软件开发方法:瀑布模型、快速原型模型、螺旋模型 DBAS生命周期模型 1.2 规划与分析 系统规划与定…

YOLOv11实战垃圾分类

本文采用YOLOv11作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv11以其高效的特征提取能力&#xff0c;在多个图像分类任务中展现出卓越性能。本研究针对4种垃圾数据集进行训练和优化&#xff0c;该数据集包含丰富的垃圾图像样本&am…

【初阶二】认识C语言—上

【初阶二】认识C语言—上 1.数据类型2.变量3.常量4.字符串5.转义字符6.注释7.选择语句 认识C语言讲的是C语言的基础知识&#xff0c;目的是让大家认识这些知识&#xff0c;后续文章会把这些知识深入讲解&#xff0c;知识点很多&#xff0c;篇幅原因分为上下两篇 1.数据类型 每…

线性DP 区间DP C++

线性DP 题一 数字三角形 解题思路 三角形内的某个点&#xff0c;可以从这个点的左上方或右上方来到这个点&#xff0c;因此有状态转移方程&#xff1a; f[i, j] max(f[i - 1, j - 1] a[i][j], f[i - 1][j] a[i][j]) 代码实现 #include<iostream> #include<algor…