Creating a batch inference job (Amazon CLI)
After you have completed Preparing input data for batch recommendations, you are ready to create a batch inference job with the CreateBatchInferenceJob operation.
Creating a batch inference job
You can use the create-batch-inference-job
command to create a batch inference job. Specify a job name,
replace Solution version ARN
with the Amazon Resource Name (ARN) of your solution version, and replace the
IAM service role ARN
with the ARN of the IAM service role you created for Amazon Personalize during set up. This role
must have read and write access to your input and output Amazon S3 buckets respectively. Optionally provide a filter ARN to
filter recommendations. If your filter uses placeholder parameters, make sure the values for the parameters are included
in your input JSON. For more information see Filtering batch recommendations and user segments (custom resources).
Replace S3 input path
and S3 output path
with the Amazon S3 path to your input file and output
locations. We recommend using a different location for your output data (either a folder or a different Amazon S3 bucket). Use
the following syntax for input and output locations: s3://<name of your S3 bucket>/<folder
name>/<input JSON file name>.json
and s3://<name of your S3 bucket>/<output folder
name>/
.
The example includes optional User-Personalization recipe specific itemExplorationConfig
hyperparameters:
explorationWeight
and explorationItemAgeCutOff
. Optionally include
explorationWeight
and explorationItemAgeCutOff
values to configure exploration. For more
information, see User-Personalization recipe.
aws personalize create-batch-inference-job \ --job-name
Batch job name
\ --solution-version-arnSolution version ARN
\ --filter-arnFilter ARN
\ --job-input s3DataSource={path=s3://S3 input path
} \ --job-output s3DataDestination={path=s3://S3 output path
} \ --role-arnIAM service role ARN
\ --batch-inference-job-config "{\"itemExplorationConfig\":{\"explorationWeight\":\"0.3
\",\"explorationItemAgeCutOff\":\"30
\"}}"
Creating a batch inference job that generates themes
To generate themes for similar items, you must use the Similar-Items recipe and your Items dataset must have a textual field and a column of item name data. For more information about recommendations with themes, see Batch recommendations with themes from Content Generator.
The following code creates a batch inference job that generates recommendations with themes.
Leave the batch-inference-job-mode
set to THEME_GENERATION
. Replace
COLUMN_NAME
with the name of the column that stores your item name data.
aws personalize create-batch-inference-job \ --job-name
Themed batch job name
\ --solution-version-arnSolution version ARN
\ --filter-arnFilter ARN
\ --job-input s3DataSource={path=s3://S3 input path
} \ --job-output s3DataDestination={path=s3://S3 output path
} \ --role-arnIAM service role ARN
\ --batch-inference-job-mode THEME_GENERATION \ --theme-generation-config "{\"fieldsForThemeGeneration\": {\"itemName\":\"COLUMN_NAME
\"}}"