Skip to main content

models

Creates, updates, deletes, gets or lists a models resource.

Overview

Namemodels
TypeResource
Idgoogle.retail.models

Fields

The following fields are returned by SELECT queries:

Successful response

NameDatatypeDescription
namestringRequired. The fully qualified resource name of the model. Format: projects/{project_number}/locations/{location_id}/catalogs/{catalog_id}/models/{model_id} catalog_id has char limit of 50. recommendation_model_id has char limit of 40.
createTimestring (google-datetime)Output only. Timestamp the Recommendation Model was created at.
dataStatestringOutput only. The state of data requirements for this model: DATA_OK and DATA_ERROR. Recommendation model cannot be trained if the data is in DATA_ERROR state. Recommendation model can have DATA_ERROR state even if serving state is ACTIVE: models were trained successfully before, but cannot be refreshed because model no longer has sufficient data for training.
displayNamestringRequired. The display name of the model. Should be human readable, used to display Recommendation Models in the Retail Cloud Console Dashboard. UTF-8 encoded string with limit of 1024 characters.
filteringOptionstringOptional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by attributes is enabled for the model.
lastTuneTimestring (google-datetime)Output only. The timestamp when the latest successful tune finished.
modelFeaturesConfigobjectOptional. Additional model features config. (id: GoogleCloudRetailV2ModelModelFeaturesConfig)
optimizationObjectivestringOptional. The optimization objective e.g. cvr. Currently supported values: ctr, cvr, revenue-per-order. If not specified, we choose default based on model type. Default depends on type of recommendation: recommended-for-you => ctr others-you-may-like => ctr frequently-bought-together => revenue_per_order This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = frequently-bought-together and optimization_objective = ctr), you receive an error 400 if you try to create/update a recommendation with this set of knobs.
periodicTuningStatestringOptional. The state of periodic tuning. The period we use is 3 months - to do a one-off tune earlier use the TuneModel method. Default value is PERIODIC_TUNING_ENABLED.
servingConfigListsarrayOutput only. The list of valid serving configs associated with the PageOptimizationConfig.
servingStatestringOutput only. The serving state of the model: ACTIVE, NOT_ACTIVE.
trainingStatestringOptional. The training state that the model is in (e.g. TRAINING or PAUSED). Since part of the cost of running the service is frequency of training - this can be used to determine when to train model in order to control cost. If not specified: the default value for CreateModel method is TRAINING. The default value for UpdateModel method is to keep the state the same as before.
tuningOperationstringOutput only. The tune operation associated with the model. Can be used to determine if there is an ongoing tune for this recommendation. Empty field implies no tune is goig on.
typestringRequired. The type of model e.g. home-page. Currently supported values: recommended-for-you, others-you-may-like, frequently-bought-together, page-optimization, similar-items, buy-it-again, on-sale-items, and recently-viewed(readonly value). This field together with optimization_objective describe model metadata to use to control model training and serving. See https://cloud.google.com/retail/docs/models for more details on what the model metadata control and which combination of parameters are valid. For invalid combinations of parameters (e.g. type = frequently-bought-together and optimization_objective = ctr), you receive an error 400 if you try to create/update a recommendation with this set of knobs.
updateTimestring (google-datetime)Output only. Timestamp the Recommendation Model was last updated. E.g. if a Recommendation Model was paused - this would be the time the pause was initiated.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
projects_locations_catalogs_models_getselectprojectsId, locationsId, catalogsId, modelsIdGets a model.
projects_locations_catalogs_models_listselectprojectsId, locationsId, catalogsIdpageSize, pageTokenLists all the models linked to this event store.
projects_locations_catalogs_models_createinsertprojectsId, locationsId, catalogsIddryRunCreates a new model.
projects_locations_catalogs_models_patchupdateprojectsId, locationsId, catalogsId, modelsIdupdateMaskUpdate of model metadata. Only fields that currently can be updated are: filtering_option and periodic_tuning_state. If other values are provided, this API method ignores them.
projects_locations_catalogs_models_deletedeleteprojectsId, locationsId, catalogsId, modelsIdDeletes an existing model.
projects_locations_catalogs_models_pauseexecprojectsId, locationsId, catalogsId, modelsIdPauses the training of an existing model.
projects_locations_catalogs_models_resumeexecprojectsId, locationsId, catalogsId, modelsIdResumes the training of an existing model.
projects_locations_catalogs_models_tuneexecprojectsId, locationsId, catalogsId, modelsIdTunes an existing model.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
catalogsIdstring
locationsIdstring
modelsIdstring
projectsIdstring
dryRunboolean
pageSizeinteger (int32)
pageTokenstring
updateMaskstring (google-fieldmask)

SELECT examples

Gets a model.

SELECT
name,
createTime,
dataState,
displayName,
filteringOption,
lastTuneTime,
modelFeaturesConfig,
optimizationObjective,
periodicTuningState,
servingConfigLists,
servingState,
trainingState,
tuningOperation,
type,
updateTime
FROM google.retail.models
WHERE projectsId = '{{ projectsId }}' -- required
AND locationsId = '{{ locationsId }}' -- required
AND catalogsId = '{{ catalogsId }}' -- required
AND modelsId = '{{ modelsId }}' -- required;

INSERT examples

Creates a new model.

INSERT INTO google.retail.models (
data__name,
data__displayName,
data__trainingState,
data__type,
data__optimizationObjective,
data__periodicTuningState,
data__filteringOption,
data__modelFeaturesConfig,
projectsId,
locationsId,
catalogsId,
dryRun
)
SELECT
'{{ name }}',
'{{ displayName }}',
'{{ trainingState }}',
'{{ type }}',
'{{ optimizationObjective }}',
'{{ periodicTuningState }}',
'{{ filteringOption }}',
'{{ modelFeaturesConfig }}',
'{{ projectsId }}',
'{{ locationsId }}',
'{{ catalogsId }}',
'{{ dryRun }}'
RETURNING
name,
done,
error,
metadata,
response
;

UPDATE examples

Update of model metadata. Only fields that currently can be updated are: filtering_option and periodic_tuning_state. If other values are provided, this API method ignores them.

UPDATE google.retail.models
SET
data__name = '{{ name }}',
data__displayName = '{{ displayName }}',
data__trainingState = '{{ trainingState }}',
data__type = '{{ type }}',
data__optimizationObjective = '{{ optimizationObjective }}',
data__periodicTuningState = '{{ periodicTuningState }}',
data__filteringOption = '{{ filteringOption }}',
data__modelFeaturesConfig = '{{ modelFeaturesConfig }}'
WHERE
projectsId = '{{ projectsId }}' --required
AND locationsId = '{{ locationsId }}' --required
AND catalogsId = '{{ catalogsId }}' --required
AND modelsId = '{{ modelsId }}' --required
AND updateMask = '{{ updateMask}}'
RETURNING
name,
createTime,
dataState,
displayName,
filteringOption,
lastTuneTime,
modelFeaturesConfig,
optimizationObjective,
periodicTuningState,
servingConfigLists,
servingState,
trainingState,
tuningOperation,
type,
updateTime;

DELETE examples

Deletes an existing model.

DELETE FROM google.retail.models
WHERE projectsId = '{{ projectsId }}' --required
AND locationsId = '{{ locationsId }}' --required
AND catalogsId = '{{ catalogsId }}' --required
AND modelsId = '{{ modelsId }}' --required;

Lifecycle Methods

Pauses the training of an existing model.

EXEC google.retail.models.projects_locations_catalogs_models_pause 
@projectsId='{{ projectsId }}' --required,
@locationsId='{{ locationsId }}' --required,
@catalogsId='{{ catalogsId }}' --required,
@modelsId='{{ modelsId }}' --required;