IBM Cloud Docs
Elasticsearch集成设置

Elasticsearch集成设置

另加 企业 IBM Cloud Pak for DataIBM Software Hub

Elasticsearch 支持助手通过利用企业内容来执行不同类型的搜索,例如度量,结构化,非结构化和语义,具有更高的准确性和相关性。 Elasticsearch数据分析引擎将搜索集成的范围扩展到助手中的更大数据集。 除了此集成外,您还可以在助手中启用 Elasticsearch 的会话式搜索,以帮助以会话式方式回答查询。

每个环境只能有一个搜索集成。 将现有搜索集成更改为其他集成类型(如 IBM Watson® Discovery 或 Milvus 或自定义服务)时,现有搜索集成的设置将被覆盖。

选择 Elasticsearch

要选择 Elasticsearch 作为缺省搜索集成,请使用下列其中一个过程:

  • 从“集成”页面选择 Elasticsearch 搜索集成

    1. 创建 watsonx Assistant 实例后,请转至 主页 > 集成
    2. 点击搜索板块内的 “打开” 查看 “打开搜索” 窗口。
    3. 如果您想在助手的草稿环境中设置 Elasticsearch,请在 “打开搜索”窗口的下拉菜单中选择 Draft 选项。 如果您想在助手的实时环境中设置 Elasticsearch,请在下拉菜单中选择 Live 选项。
    4. 编辑现有新搜索集成窗口中,选择 Elasticsearch
  • 从“环境”页面选择 Elasticsearch 搜索集成

    1. 创建 watsonx Assistant 实例后,请转至 主页 > 环境

    2. 如果您想在草稿环境中设置 Elasticsearch,请选择草稿选项卡。 如果您想在实时环境中设置 Elasticsearch,请选择 “实时”选项卡

    3. 如果要添加 Elasticsearch 搜索集成,请在解决方法部分中,单击扩展下的搜索图块内的添加

      如果已添加 Elasticsearch 搜索集成,那么将在 扩展下的 搜索 磁贴中看到 打开 按钮,而不是 添加

    4. “设置新搜索扩展”窗口中,选择 Elasticsearch 磁贴。

      选择 Elasticsearch
      选择 Elasticsearch

设置 Elasticsearch

要在助手上设置 Elasticsearch,请使用以下过程:

  1. 请填写以下字段,以便您的助手连接Elasticsearch 实例:

    • Elasticsearch URL

    • Elasticsearch 端口 (可选)

    • 选择认证类型

      • 如果您选择 Basic authentication,则必须提供 ElasticsearchElasticsearch
      • 如果选择 API key,那么必须提供 Elasticsearch API 密钥

      连接到 Elasticsearch
      连接到 Elasticsearch

  2. 单击 下一步 以转至 选择索引 部分。 选择索引 有两个选项:

    • 要使用现有索引,请选择 使用我的索引
    • 要创建新索引,请选择 将文档上载到 Elasticsearch 实例中的新索引

使用现有索引

  1. 在“选择索引”部分中,单击 使用我的索引 以连接到现有 Elasticsearch 索引。 在 Elasticsearch 设置中选择 使用我的索引 选项作为缺省值。

  2. 使用我的索引 选项中,输入 Elasticsearch 索引名。

  3. 单击 下一步 以转至 启用会话式搜索 (可选) 部分。

  4. 会话式搜索仅在 watsonx Assistant的 Plus 和 Enterprise 套餐中可用。 在 启用会话式搜索 (可选) 部分中,如果要激活会话式搜索,请将 会话式搜索 切换开关切换到 on。 如果您不想激活会话式搜索,请将切换开关切换到 off。 有关会话式搜索的更多信息,请参阅 会话式搜索

  5. 单击保存,然后单击关闭

将文档上载到新索引 Beta

在上载文档之前,Elasticsearch 实例必须具有以下先决条件:

  • Elasticsearch 8.8 或更高版本。

  • 付费或试用Elasticsearch,例如 IBM Cloud Databases for ElasticsearchElastic.co 提供的铂金版或企业版订阅。

  • 具有最少 4 GB 内存的 Machine Learning (ML) 节点,用于部署 ELSER 模型。 有关 ELSER 需求的更多信息,请参阅 ELSER 需求

  • 您上传的文件必须使用英语。

如果您的 Elasticsearch 实例不具备上传文档的先决条件,您将看到 Requirements not met 错误消息。

如果您在满足前提条件后仍遇到上传文件延迟或失败的情况,可以考虑通过设置 number_of_allocationsthreads_per_allocation 等参数来调整ELSER模型部署的推理性能。 有关缩放推断性能的更多信息,请参阅 启动已训练的模型部署 API

要将文档上载到新索引,请使用以下过程:

  1. 在 " Elasticsearch " 窗口的 选择索引 部分中,单击 将文档上载到 Elasticsearch 实例中的新索引

    watsonx Assistant 将上载的文档传递到 Elasticsearch 实例以进行存储,分块和建立索引。

  2. 配置结果内容部分,提供以下字段以将标题、正文和 URL 映射到搜索响应:

    • 标题

      搜索结果标题。 使用集合中字段的标题、名称或类似类型的字段作为搜索结果标题。

      必须为标题选择某些内容,否则在 Facebook 和 Slack 集成中不会显示搜索结果响应。

    • 正文

      搜索结果描述。 使用集合中的梗概、摘要或要点字段作为搜索结果主体。

      必须为主体选择某些内容,否则在 Facebook 和 Slack 集成中不会显示搜索结果响应。

    • URL

      您可以在此字段中添加任何您想在搜索结果末尾显示的页脚内容。

    高级 Elasticsearch 设置中配置查询正文以搜索嵌套文档时,必须确保标题正文URL 来自 Elasticsearch 索引中内部文档的字段。 有关使用嵌套查询的更多信息,请参阅 Elasticsearch 嵌套查询

  3. 展开 高级 Elasticsearch 设置 部分以查看以下文本框:

    • 配置 Elasticsearch的过滤器数组

      您可以将过滤器定义为对象数组,以便可以创建过滤器来按查询主体排列内容。 有关更多信息,请参阅 配置自定义筛选器

    • 配置 Elasticsearch的查询主体

      查询主体用于将用户请求处理为搜索期望的格式。 它控制查询表单,搜索字段,过滤器和查询大小。 在REST API中,查询主体是一个对象,它表示Elasticsearch 发送 _search 请求的 POST 主体。 THe 查询主体具有用于表示客户查询的 "$QUERY" 令牌,以及用于表示在搜索设置或步骤级别定义的过滤器数组的 "$FILTER" 令牌。

      缺省情况下,Elasticsearch 集成使用关键字搜索。 但您可以在 Advanced Elasticsearch settings 中配置查询正文,以启用更高级的搜索技术,例如:

      • 使用ELSER进行语义搜索
      • KNN密集向量搜索
      • 使用嵌套查询来搜索嵌套文档
      • 混合搜索
      • 在语义文本字段中搜索

      有关使用不同类型的查询主体示例的更多信息,请参阅 查询主体示例

      有关 Elasticsearch _search API 请求主体的更多信息,请参阅 Elasticsearch 搜索 API 请求主体

      无法使用现有 Elasticsearch 配置在助手中定制查询主体。

  4. 使用 消息找不到结果连接问题 选项卡来定制不同的消息,以便根据搜索的成功程度与用户共享。

    搜索结果消息
    制表符 场景 示例消息
    消息 返回了搜索结果 I found this information that might be helpful:
    找不到结果 找不到任何搜索结果 I searched my knowledge base for information that might address your query, but did not find anything useful to share.
    连接问题 由于某种原因,无法完成搜索 I might have information that could help address your query, but am unable to search my knowledge base at the moment.
  5. 如果要激活对话式搜索,请将 对话式搜索 切换开关切换到 on。 如果您不想激活会话式搜索,请将切换开关切换到 off

    会话式搜索仅在 watsonx Assistant的 Plus 和 Enterprise 套餐中可用。 如果将 对话式搜索 切换开关切换到 on,那么可以在助手响应中查看引文标题。 有关会话式搜索的更多信息,请参阅 会话式搜索

  6. 点击 “保存” 保存您的设置。

  7. 单击 Elasticsearch 窗口中的 文档 选项卡。

    仅当您选择 将文档上载到 Elasticsearch 实例 选项中的新索引时,才会启用 文档 选项卡。

  8. 单击 上载 按钮。 在上传文件部分,您可以拖动文件或单击一下即可将文件直接上传到您的助手。

    一次最多可以上载 20 个文档。 每个文件大小不得超过 25 KB。 所有文件的总大小不得超过 50 MB。

    Elasticsearch 上传文档
    Elasticsearch 上传文档

  9. 上载文档后,可以在 Elasticsearch 窗口的表中查看文档的上载状态。

  10. 状态 Ready 指示您的文件可用于搜索。

  11. 如果状态指示 Error,那么可以通过单击 Error 旁边的三个点并单击 Delete 来删除该文件。

    Elasticsearch 上传错误
    Elasticsearch 上传错误

  12. 如果不想更改 Elasticsearch 实例凭据,请跳过此步骤。 如果要更改 Elasticsearch 实例凭据,请单击 Instance 选项卡,编辑凭据,然后单击 保存

  13. 单击 保存,然后单击 关闭 以结束 Elasticsearch 设置。

配置助手以使用 Elasticsearch

配置 Elasticsearch 搜索集成后,必须将助手配置为在客户响应未与任何操作匹配时使用 Elasticsearch。 有关更新 无匹配 以使用搜索的更多信息,请参阅 无操作匹配时使用搜索

测试 Elasticsearch

您可以在操作预览,预览页面或使用预览链接测试与 Elasticsearch 的搜索集成。

在此示例中,用户询问 Tell me about a custom extension

当会话式搜索为 off 时,将从知识库中提取搜索结果。 答案是 I searched my knowledge base and found this information which might be useful

对话式搜索关闭
对话式搜索关闭

当会话式搜索为 on 时,将在知识库中显示来自最佳结果的基于文本的回复。

上的对话式搜索 Conversational search on