Link Search Menu Expand Document Documentation Menu

集成机器学习模型

OpenSearch 支持机器学习 (ML) 模型,您可以将这些模型与 k-NN 搜索结合使用,以检索语义相似的文档。这种语义搜索能力可提高您应用程序的搜索相关性。

在开始之前,您需要设置保护您的集群。

选择模型

要将机器学习模型集成到您的搜索工作流中,请选择以下选项之一。

本地模型

将模型上传到 OpenSearch 集群并在本地使用。此选项允许您在 OpenSearch 集群中提供模型服务,但可能需要大量的系统资源。

OpenSearch 提供的预训练模型

需要最少的设置,并避免了训练自定义模型所需的时间和精力

自定义模型

为您的特定用例提供定制

外部托管模型

连接到第三方平台托管的模型。这需要更多的设置,但允许使用已托管在 OpenSearch 以外服务上的模型。

外部托管模型

了解如何为第三方平台托管的模型创建连接器

在 OpenSearch 2.9 及更高版本中,您可以在单个集群中同时集成本地模型和外部模型。

教程

开始使用 AI 搜索

了解如何在 OpenSearch 中实现语义搜索和混合搜索

使用模型

您可以通过以下方式之一使用机器学习模型

调用模型进行推理

您可以通过调用 Predict API 来调用模型。例如,测试文本嵌入模型可以让您查看它们生成的向量嵌入。

通过 ML Commons 插件训练的模型支持基于模型的算法,例如 k-means。在您将模型训练到所需的精度后,就可以使用该模型进行推理。另外,您可以使用 Train and Predict API 来测试模型,而无需评估模型的性能。

OpenSearch 支持多种与机器学习模型集成的搜索方法。有关更多信息,请参阅AI 搜索

禁用模型

当您不想卸载或删除模型时,可以暂时禁用它。通过调用 Update Model API 并将 is_enabled 设置为 false 来禁用模型。禁用模型后,它将无法用于 Predict API 请求。如果您禁用了未部署的模型,则该模型在部署后仍将保持禁用状态。您需要启用它才能将其用于推理。

推理调用速率限制

为您的机器学习模型的 Predict API 调用设置速率限制可以帮助您降低模型推理成本。您可以在以下级别设置 Predict API 调用的速率限制

  • 模型级别:通过调用 Update Model API 并指定 rate_limiter 为模型的所有用户配置速率限制。有关更多信息,请参阅 Update Model API
  • 用户级别:通过创建控制器为模型的特定用户或所有用户配置速率限制。一个模型可能被多个用户共享;您可以配置控制器为不同的用户设置不同的速率限制。有关更多信息,请参阅 Create Controller API

模型级别的速率限制适用于模型的所有用户。如果您同时指定模型级别速率限制和用户级别速率限制,则总速率限制将设置为两者中更严格的一个。例如,如果模型级别限制为每分钟 2 个请求,用户级别限制为每分钟 4 个请求,则总限制将设置为每分钟 2 个请求。

要设置速率限制,您必须提供两个输入:最大请求数和时间范围。OpenSearch 使用这些输入来计算速率限制,即最大请求数除以时间范围。例如,如果您将限制设置为每分钟 4 个请求,则速率限制为 4 requests / 1 minute,即 1 request / 0.25 minutes,或 1 request / 15 seconds。OpenSearch 以先进先出的方式按顺序处理预测请求,并将这些请求限制为每 15 秒 1 个请求。假设有两个用户,Alice 和 Bob,他们为同一个模型调用 Predict API,该模型的速率限制为每 15 秒 1 个请求。如果 Alice 调用 Predict API,紧接着 Bob 调用 Predict API,OpenSearch 将处理 Alice 的预测请求并拒绝 Bob 的请求。自 Alice 的请求发出 15 秒后,Bob 可以再次发送请求,该请求将被处理。


相关文章

剩余 350 字符

有问题?

想贡献?