这可能是由于PutItems事件中添加的物品还没有被训练模型学习到或评估到。为了确保这些物品可以被推荐,需要等待模型重新训练和评估后再使用GetRecommendation调用来检查结果。
以下是使用Python SDK的示例代码:
import boto3
# 创建Personalize客户端
personalize = boto3.client('personalize')
# 获取模型ARN
model_arn = ''
# 训练模型
response = personalize.create_training_job(
trainingJobName='my-training-job',
solutionVersionArn=model_arn
)
# 等待模型训练完成
personalize.get_waiter('training_job_completed_or_failed').wait(
TrainingJobArn=response['trainingJobArn']
)
# 重启评估任务
response = personalize.create_batch_inference_job(
jobName='my-batch-inference-job',
solutionVersionArn=model_arn,
jobInput={
's3DataSource': {
'path': 's3:///input.csv'
}
},
jobOutput={
's3DataDestination': 's3:///output/'
}
)
# 等待评估任务完成
personalize.get_waiter('batch_job_completed_or_failed').wait(
BatchJobArn=response['batchInferenceJobArn']
)
# 调用GetRecommendation检查结果
response = personalize.get_recommendations(
campaignArn='',
userId='',
numResults=10
)
在上面的代码中,我们分别执行了训练模型和评估任务的操作,并调用了personalize.get_waiter()方法等待任务完成。然后,我们通过调用personalize.get_recommendations()方法来检查结果。需要注意的是,这里的campaignArn参数应该是一个已经创建的推荐活动ARN。