--- title: Associate a Smart Snippet model with a query pipeline slug: l6he0309 canonical_url: https://docs.coveo.com/en/l6he0309/ collection: leverage-machine-learning source_format: adoc --- # Associate a Smart Snippet model with a query pipeline When a [Coveo Machine Learning (Coveo ML)](https://docs.coveo.com/en/188/) [model](https://docs.coveo.com/en/1012/) has been created, it must be associated with a [query pipeline](https://docs.coveo.com/en/180/) to be effective in a [search interface](https://docs.coveo.com/en/2741/). [organization](https://docs.coveo.com/en/185/) [members](https://docs.coveo.com/en/2869/) with the [required privileges](#required-privileges) can access the **Machine learning** tab of a query pipeline configuration page to manage Coveo ML model associations for that query pipeline. > **Note** > > Query pipeline [thesaurus](https://docs.coveo.com/en/3405/) and [stop word](https://docs.coveo.com/en/3406/) rules aren't applied to the query that's used by the [Smart Snippet](https://docs.coveo.com/en/laea5490/) [model](https://docs.coveo.com/en/1012/). > The [Smart Snippet](https://docs.coveo.com/en/laea5490/) [model](https://docs.coveo.com/en/1012/) always uses the raw [basic query expression (`q`)](https://docs.coveo.com/en/178/) entered by the user without any transformations or modifications. ## Associate a Smart Snippet model > **Important** > > Follow the [model association leading practices](https://docs.coveo.com/en/l6he0309#leading-practices) when associating your model with your query pipeline. . On the [**Query Pipelines**](https://platform.cloud.coveo.com/admin/#/orgid/search/pipelines/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/search/pipelines/)) page, click the query pipeline for which you want to associate the model, and then click **Edit components** in the Action bar. . On the subpage that opens, select the **Machine learning** tab, and then in the upper-right corner, click **Associate model**. . In the **Model** dropdown menu, select the desired model. . On the right side, under **Condition**, you can select a [query pipeline condition](https://docs.coveo.com/en/2793/) in the dropdown menu or [create a new one](https://docs.coveo.com/en/1959#create-a-condition). . Click **Associate model**. ## Edit a Smart Snippet model association > **Important** > > Follow the [model association leading practices](https://docs.coveo.com/en/l6he0309#leading-practices) when associating your model with your query pipeline. . On the [**Query Pipelines**](https://platform.cloud.coveo.com/admin/#/orgid/search/pipelines/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/search/pipelines/)) page, click the query pipeline for which you want to edit a model association, and then click **Edit components** in the Action bar. . On the subpage that opens, select the **Machine learning** tab, click the desired model, and then click **Edit** in the Action bar. . On the right side, under **Condition**, you can select a [query pipeline condition](https://docs.coveo.com/en/2793/) in the dropdown menu or [create a new one](https://docs.coveo.com/en/1959#create-a-condition). . Click **Save**. ## Associate a Smart Snippet model via a JSON configuration Advanced users may want to manage a model association via a JSON configuration to specify [association parameters](https://docs.coveo.com/en//l6he0424/) that don't fit with the parameters available in the [Administration Console](https://docs.coveo.com/en/183/). . On the [**Query Pipelines**](https://platform.cloud.coveo.com/admin/#/orgid/search/pipelines/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/search/pipelines/)) page, click the query pipeline for which you want to associate a model, and then click **Edit components** in the Action bar. . On the subpage that opens, select the **Machine learning** tab, and then in the upper-right corner, click [dots], and select **Associate a model in JSON view**. . On the **Associate a Model** subpage, in JSON view, replace the `` placeholder with the actual `ID` of the model you want to associate with the pipeline (see [Review model information](https://docs.coveo.com/en/1894/)). . Click **Associate model**. ## Edit a Smart Snippet model association via a JSON configuration Advanced users may want to manage a model association via a JSON configuration to specify [association parameters](https://docs.coveo.com/en//l6he0424/) that don't fit with the parameters available in the [Administration Console](https://docs.coveo.com/en/183/). . On the [**Query Pipelines**](https://platform.cloud.coveo.com/admin/#/orgid/search/pipelines/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/search/pipelines/)) page, click the query pipeline for which you want to edit a model association, and then click **Edit components** in the Action bar. . On the **Machine learning** tab, double-click the desired model. . If the **Edit a Model Association** subpage opens in JSON view, proceed to the next step. Otherwise, in the upper-right corner, click [dots], click **Switch to JSON view**, and then click **Switch to JSON view** in the confirmation window. . On the **Edit a Model Association** subpage, in JSON view, tune the JSON model association configuration as needed (see [Model association parameters](https://docs.coveo.com/en//l6he0424/)). . Click **Save**. ## Dissociate a model . On the [**Query Pipelines**](https://platform.cloud.coveo.com/admin/#/orgid/search/pipelines/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/search/pipelines/)) page, click the query pipeline from which you want to dissociate a model, and then click **Edit components** in the Action bar. . On the subpage that opens, select the **Machine learning** tab. . Click the model you want to dissociate from the pipeline, and then click **Dissociate** in the Action bar. ## Reorder model associations The order in which [models](https://docs.coveo.com/en/1012/) appear in the query pipeline **Machine learning** tab is only relevant when multiple models of the same type are present. If there are no duplicate model types in the list, the model order has no effect as each model will either execute or not based on its individual condition. However, when multiple models of the same type are present, the models are evaluated sequentially from top to bottom. The first model with a satisfied condition is executed, and all subsequent models of the same type are ignored. To reorder model associations in a query pipeline . On the [**Query Pipelines**](https://platform.cloud.coveo.com/admin/#/orgid/search/pipelines/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/search/pipelines/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/search/pipelines/)) page, click the query pipeline in which you want to reorder model associations, and then click **Edit components** in the Action bar. . On the subpage that opens, select the **Machine learning** tab. . Click the model whose position you want to change, and then use the **Move up** or **Move down** arrows in the Action bar to change the position of the model. ## Reference ### Model association parameters You can use the following parameters when creating or editing a Coveo ML pass:q,a[Smart Snippets] model association. ## `id` (string) The unique identifier of the model association (automatically generated by the Coveo Search API). **Example**: `62579f33-a505-4d07-b77d-545aefb2eea1` ## `position` (integer [int32]) The position of the model in the order of execution (see [Reorder model associations](#reorder-model-associations)). **Example**: `8` ## `modelId` (string) The unique identifier of the model (see [Review model information](https://docs.coveo.com/en/1894/)). **Example**: `c7ab60e2-e6b8-41e8-be6a-ad5c8edc662e` ## `modelDisplayName` (string) The name of the model as selected when [creating the model](https://docs.coveo.com/en/l6he0424/). This field is automatically filled with the name of the Coveo ML model. **Example**: `MyModelName` ## `modelEngine` (string) The ID of the Coveo ML model. This field is automatically filled with the ID of the Coveo ML model. **Example**: `pass:q,a[mlquestionanswering]` ## `modelStatus` (string) The [status](https://docs.coveo.com/en/l6he0424#status-column) of the model. This field is automatically generated according to the current ML model status. **Example**: `ONLINE` ## `condition` (string) The unique identifier of the [condition](https://docs.coveo.com/en/2793/) that must be satisfied for a request to be processed by the ML model. **Example**: `c7ab60e2-e6b8-41e8-be6a-ad5c8edc662e` ## `conditionDefinition` (string) The QPL expression that indicates the condition defined for the model association (see [Query Pipeline Language (QPL)](https://docs.coveo.com/en/1449/)). This field is automatically filled when a [`condition`](#condition-string) is specified. **Example**: `when $searchHub is \"internalSearch\"` ## `cacheMaximumAge` (string) The maximum age of cached [query](https://docs.coveo.com/en/231/) results the ML model should accept, in the [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals) format only including the seconds and milliseconds part. For each incoming query to be processed by the ML model, if a result set for an identical previously made query is available in the cache and this result set isn't older than the specified value, the ML model makes recommendations based on that cached query result set. Otherwise, the query is executed against the index. **Default**: `PT105` ## `locale` (string) The locale of the current user. Adding a `locale` parameter to a model association allows Coveo ML to provide more relevant recommendations by taking into account the user's language and regional preferences. **Example** The `locale` for a user in the United States would be: `en-US`. :leveloffset!: ## Required privileges By default, members with the [required privileges](https://docs.coveo.com/en/1832#required-privileges) can view and edit elements of the [**Models**](https://platform.cloud.coveo.com/admin/#/orgid/ai-and-ml/models/) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/ai-and-ml/models/) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/ai-and-ml/models/) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/ai-and-ml/models/)) page. The following table indicates the privileges required to use elements of the **Models** page and associated panels (see [Manage privileges](https://docs.coveo.com/en/3151/) and [Privilege reference](https://docs.coveo.com/en/1707/)). [cols="3",options="header"] |=== |Action |Service - Domain |Required access level |View model associations |Machine Learning - Models Organization - Organization Search - Query pipelines |View .2+|Edit model associations |Organization - Organization Machine Learning - Models |View |Search - Query pipelines |Edit |===