Skip to main content

models

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

Overview

Namemodels
TypeResource
Idgoogle.retail.models

Fields

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.
createTimestringOutput 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.
lastTuneTimestringOutput only. The timestamp when the latest successful tune finished.
modelFeaturesConfigobjectAdditional model features config.
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.
updateTimestringOutput 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

NameAccessible byRequired ParamsDescription
projects_locations_catalogs_models_getSELECTcatalogsId, locationsId, modelsId, projectsIdGets a model.
projects_locations_catalogs_models_listSELECTcatalogsId, locationsId, projectsIdLists all the models linked to this event store.
projects_locations_catalogs_models_createINSERTcatalogsId, locationsId, projectsIdCreates a new model.
projects_locations_catalogs_models_deleteDELETEcatalogsId, locationsId, modelsId, projectsIdDeletes an existing model.
projects_locations_catalogs_models_patchUPDATEcatalogsId, locationsId, modelsId, projectsIdUpdate 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_pauseEXECcatalogsId, locationsId, modelsId, projectsIdPauses the training of an existing model.
projects_locations_catalogs_models_resumeEXECcatalogsId, locationsId, modelsId, projectsIdResumes the training of an existing model.
projects_locations_catalogs_models_tuneEXECcatalogsId, locationsId, modelsId, projectsIdTunes an existing model.

SELECT examples

Lists all the models linked to this event store.

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

INSERT example

Use the following StackQL query and manifest file to create a new models resource.

/*+ create */
INSERT INTO google.retail.models (
catalogsId,
locationsId,
projectsId,
name,
displayName,
trainingState,
type,
optimizationObjective,
periodicTuningState,
filteringOption,
modelFeaturesConfig
)
SELECT
'{{ catalogsId }}',
'{{ locationsId }}',
'{{ projectsId }}',
'{{ name }}',
'{{ displayName }}',
'{{ trainingState }}',
'{{ type }}',
'{{ optimizationObjective }}',
'{{ periodicTuningState }}',
'{{ filteringOption }}',
'{{ modelFeaturesConfig }}'
;

UPDATE example

Updates a models resource.

/*+ update */
UPDATE google.retail.models
SET
name = '{{ name }}',
displayName = '{{ displayName }}',
trainingState = '{{ trainingState }}',
type = '{{ type }}',
optimizationObjective = '{{ optimizationObjective }}',
periodicTuningState = '{{ periodicTuningState }}',
filteringOption = '{{ filteringOption }}',
modelFeaturesConfig = '{{ modelFeaturesConfig }}'
WHERE
catalogsId = '{{ catalogsId }}'
AND locationsId = '{{ locationsId }}'
AND modelsId = '{{ modelsId }}'
AND projectsId = '{{ projectsId }}';

DELETE example

Deletes the specified models resource.

/*+ delete */
DELETE FROM google.retail.models
WHERE catalogsId = '{{ catalogsId }}'
AND locationsId = '{{ locationsId }}'
AND modelsId = '{{ modelsId }}'
AND projectsId = '{{ projectsId }}';