Jonathan Simon

Elastic 可观测性 AI 助手和 Microsoft Azure OpenAI 入门

按照以下步骤逐步操作,开始使用 Elastic 可观测性 AI 助手和 Microsoft Azure OpenAI。

阅读时长 9 分钟
Getting started with the Elastic AI Assistant for Observability and Microsoft Azure OpenAI

最近,Elastic 宣布,可观测性 AI 助手现已正式向所有 Elastic 用户开放。AI 助手为 Elastic Observability 提供了一个新的工具,通过连接大型语言模型 (LLM) 的聊天和上下文见解来解释错误并提出修复建议。与 Microsoft Copilot 类似,Copilot 是一个 AI 助手,为开发者引入新功能并提高生产力,而 Elastic AI 助手是一个 AI 助手,可以帮助您从可观测性数据中快速获得更多价值。

这篇博文提供了一个分步指南,介绍如何设置以 Azure OpenAI 作为支持 LLM 的可观测性 AI 助手。设置 AI 助手后,这篇文章将向您展示如何将文档添加到 AI 助手的知识库,并演示 AI 助手如何使用其知识库来改进其响应,以解决特定问题。

设置 Elastic 可观测性 AI 助手:创建 Azure OpenAI 密钥

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

目前,访问 Azure OpenAI 服务需要申请访问权限。请参阅官方 Microsoft 文档,了解当前的先决条件

在 Azure 门户中,选择Azure OpenAI

在 Azure OpenAI 服务中,单击创建按钮。

输入实例名称,然后单击下一步

选择 Azure OpenAI 实例的网络访问首选项,然后单击下一步

添加可选标签,然后单击下一步

确认您的设置,然后单击创建以创建 Azure OpenAI 实例。

实例创建完成后,单击转到资源按钮。

单击管理密钥链接以访问实例的 API 密钥。

复制您的 Azure OpenAI API 密钥终结点,并将它们都保存在安全的地方,以便在稍后的步骤中使用。

接下来,单击模型部署,在您刚创建的 Azure OpenAI 实例中创建一个部署。

单击管理部署按钮以打开 Azure OpenAI Studio。

单击创建新部署按钮。

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

设置 Elastic 可观测性 AI 助手:在 Elastic Cloud 中创建 OpenAI 连接器

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

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

在“堆栈管理”页面上,选择连接器

选择创建连接器

选择 Azure OpenAI 的连接器。

输入您选择的连接器名称。选择 Azure OpenAI 作为 OpenAI 提供程序。

使用以下格式输入终结点 URL

  • 替换

    {your-resource-name}
    为您在之前的步骤中在 Azure 门户中创建的 Azure Open AI 实例的名称

  • 替换

    deployment-id
    为您在之前的步骤中在 Azure 门户中创建模型部署时指定的部署名称

  • 替换

    {api-version}
    Azure OpenAI 参考页面的“完成”部分中列出的有效受支持版本之一。

https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}

您完成的终结点 URL 应如下所示

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

输入您在上一步中复制的 API 密钥。然后单击保存并测试按钮。

编辑连接器弹出窗口中,单击运行按钮以确认连接器配置有效并且可以成功连接到您的 Azure OpenAI 实例。

一个成功的连接器测试应该如下所示

添加一个示例日志记录

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

我们将使用 Elastic Dev Tools 添加单个日志记录。单击顶层菜单并选择 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"
	}
}

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

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

使用 Elastic AI 助手

现在您已经有了可以使用的日志记录,让我们跳转到 Observability Logs Explorer,看看 AI 助手如何与日志数据交互。单击顶层菜单并选择 Observability

选择 日志浏览器 以浏览日志数据。

在日志浏览器的搜索框中,输入文本“redis”,然后按 Enter 键执行搜索。

单击 查看所有匹配项 按钮以包括所有搜索结果。

您应该会看到您先前通过 Dev Tools 插入的一个日志记录。单击展开图标以查看日志记录的详细信息。

您应该会看到日志记录的展开视图。我们不会尝试自己理解其内容,而是使用 AI 助手对其进行总结。单击 这条消息是什么? 按钮。

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

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

创建 Elastic AI 助手知识库

Observability 菜单中选择 概览

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

单击 安装知识库 按钮。

单击顶层菜单并选择 堆栈管理

然后选择 AI 助手

单击 用于可观测性的 Elastic AI 助手

选择 知识库 选项卡。

单击 新条目 按钮,然后选择 单个条目

将其 名称 命名为“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.

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

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

然后在 日志 下选择 浏览器

展开您之前展开的相同日志条目,然后单击 这条消息是什么? 按钮。

您现在得到的响应应该更相关了。

尝试使用包含您自己数据的知识库来使用 Elastic AI 助手

既然您已经了解了设置用于可观测性的 Elastic AI 助手是多么容易,那就自己尝试一下吧。注册一个 14 天免费试用。您可以快速在几分钟内启动 Elastic Cloud 部署,并拥有自己的搜索驱动的 AI 知识库来帮助您完成最重要的工作。

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

在此博客文章中,我们可能使用了或引用了第三方生成式 AI 工具,这些工具由其各自所有者拥有和运营。Elastic 对第三方工具没有任何控制权,并且我们对其内容、操作或使用,以及因您使用此类工具而可能造成的任何损失或损害不承担任何责任。在使用包含个人、敏感或机密信息的 AI 工具时请务必谨慎。您提交的任何数据都可能用于 AI 训练或其他目的。我们不保证您提供的信息将被保持安全或机密。您应该在使用任何生成式 AI 工具之前熟悉其隐私惯例和使用条款。

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