Integrating ML models

OpenSearch offers support for machine learning (ML) models that you can use in conjunction with k-NN search to retrieve semantically similar documents. This semantic search capability improves search relevance for your applications.

Before you get started, you’ll need to set up and secure your cluster.

Choosing a model

To integrate an ML model into your search workflow, choose one of the following options:

  1. Local model: Upload a model to the OpenSearch cluster and use it locally. This option allows you to serve the model in your OpenSearch cluster but may require significant system resources.

    1. Pretrained model provided by OpenSearch: This option requires minimal setup and avoids the time and effort required to train a custom model.

      For a list of supported models and information about using a pretrained model provided by OpenSearch, see Pretrained models.

    2. Custom model: This option offers customization for your specific use case.

      For information about uploading your model, see Using ML models within OpenSearch.

  2. Externally hosted model: This option allows you to connect to a model hosted on a third-party platform. It requires more setup but allows the use of models that are already hosted on a service other than OpenSearch.

    To connect to an externally hosted model, you need to set up a connector:

In OpenSearch version 2.9 and later, you can integrate local and external models simultaneously within a single cluster.

Tutorial

For a step-by-step tutorial, see Neural search tutorial.

Using a model

You can use an ML model in one of the following ways:

Making predictions

Models trained through the ML Commons plugin support model-based algorithms, such as k-means. After you’ve trained a model to your precision requirements, use the model to make predictions.

If you don’t want to use a model, you can use the Train and Predict API to test your model without having to evaluate the model’s performance.

OpenSearch supports multiple search methods that integrate with ML models. For more information, see Search methods.