You're viewing version 2.11 of the OpenSearch documentation. This version is no longer maintained. For the latest version, see the current documentation. For information about OpenSearch version maintenance, see Release Schedule and Maintenance Policy.
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:
-
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.
-
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.
-
Custom model: This option offers customization for your specific use case.
For information about uploading your model, see Using ML models within OpenSearch.
-
-
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:
- For a walkthrough with detailed steps, see Connecting to externally hosted models.
- For more information about supported connectors, see Connectors.
- For information about creating your own connector, see Connector blueprints.
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.
Using a model for search
OpenSearch supports multiple search methods that integrate with ML models. For more information, see Search methods.