作者: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