使用 OpenSearch 生成自然语言查询 - 亚马逊 OpenSearch 服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 OpenSearch 生成自然语言查询

Amazon OpenSearch Service 中的自然语言查询生成功能让您能够通过自然语言来查询操作和安全日志数据。OpenSearch 是一个高度可扩展和高性能的日志分析和搜索引擎,因此是探索日志数据的理想选择,现在您还可以使用自然语言来探索这些日志。此功能让您可以轻松识别问题,无需依赖 OpenSearch 管道处理语言(PPL),也不必在构建查询时查找数据定义。您可以在使用版本 2.13 及更高版本的 OpenSearch Service 域上使用自然语言查询生成功能。您必须已经启用精细访问控制。

此功能是使用 OpenSearch 助手工具包构建的。如果要创建连接到大语言模型的类似功能,则可以使用该工具包来配置自己的代理和工具。

先决条件

在使用自然语言查询生成功能之前,您的域必须满足以下条件:

  • 版本 2.13 或更高版本。

  • 服务软件 R20240520-P4 或更高版本。

  • 已启用精细访问控制。有关更多信息,请参阅启用精细访问控制

开始使用

要开始使用自然语言查询生成功能,请确保您已在 OpenSearch Service 域上启用了该功能。默认情况下,所有使用版本 2.13 及更高版本创建并且启用了精细访问控制的域都启用了此功能。

如果您是在 2024 年 7 月 2 日之前升级到 OpenSearch 版本 2.13 的,则必须先将服务软件更新到(R20240520-P4)或更高版本,然后才能启用自然语言查询生成。完成此操作后,您可以通过选中人工智能(AI)和机器学习(ML)部分下的启用自然语言查询生成复选框来启用该功能。

设置好域后,导航到 OpenSearch 控制面板中的日志资源管理器页面。选择事件资源管理器,然后使用查询助手提问。

配置 权限

如果在事先存在的 OpenSearch Service 域上启用自然语言查询生成功能,可能并未在该域上定义 query_assistant_access 角色。必须将非管理员用户映射到此角色,才能使用精细访问控制管理域上的温索引。要手动创建 query_assistant_access 角色,请执行以下步骤:

  1. 在 OpenSearch 控制面板中,转到安全,然后选择角色

  2. 选择创建角色并配置以下集群权限:

    • cluster:admin/opensearch/ml/config/get

    • cluster:admin/opensearch/ml/execute

    • cluster:admin/opensearch/ml/predict

    • cluster:admin/opensearch/ppl

  3. 将该角色命名为 query_assistant_acces

  4. 选择 Create role(创建角色)。query_assistant_access 角色现已可用。

    注意

    对于要使用自然语言问题的索引,您还必须拥有 indices:admin/mappings/getread 索引权限。

配置自动化

Flow Framework 是一个 OpenSearch 插件,为查询生成和对话聊天等用例提供了一种自动完成 OpenSearch 配置的方法。由于该插件会跟踪启用了自然语言查询生成功能的资源,因此流框架索引会为使用查询助手的每个域存储一个模板。

Flow Framework 让能够从一组预定义的模板中进行选择,也可以为机器学习连接器、工具、代理以及将 OpenSearch 作为生成式模型的后端进行准备的其他组件创建自己的自动化。