Implementing a content recommendation engine using AWS Personalize with user data streams from Amazon Kinesis
PythonThe goal is to build a recommendation engine with AWS Personalize and use Amazon Kinesis streams for user interaction data.
It involves two AWS services: AWS Personalize and AWS Kinesis.
-
AWS Kinesis streams: To collect data about user interactions, which is the raw input to our recommendation system.
-
AWS Personalize: To build a recommendation system using machine learning based upon the user interaction data streamed through Kinesis.
Below is a simplified blueprint using Pulumi Python SDK. Notice this is a two steps process:
Step 1: Provision a Kinesis Stream that will serve as a pipeline for the raw data.
import pulumi from pulumi_aws import kinesis # Create an AWS resource (Kinesis Stream) stream = kinesis.Stream("mystream", shard_count=1) # Export the ARN of the stream pulumi.export('stream_arn', stream.arn)
Step 2: Provision AWS Personalize components (Dataset Group, Dataset, Solution, and Campaign).
IMPORTANT: Pulumi presently doesn't support AWS Personalize. You can follow or give a thumb up to this issue on Pulumi GitHub for AWS Personalize support.
Meanwhile, you can use AWS SDK inside a Pulumi program or AWS Management Console to create Personalize resources and to associate the ARN of the Kinesis stream with the Event Tracker in AWS Personalize.
Please use with care and always follow AWS guidelines about data privacy and management.
Related resources:
-