Whats New Summary Notifier is a sample implementation of a generative AI application that summarizes the content of AWS What's New and other web articles in multiple languages when there is an update, and delivers the summary to Slack or Microsoft Teams.
This stack create following architecture.
- An environment where you can execute Unix commands (Mac, Linux, ...)
- If you don't have such an environment, you can also use AWS Cloud9. Please refer to Preparing the Operating Environment (AWS Cloud9).
- aws-cdk
- You can install it with
npm install -g aws-cdk
. For more details, please refer to the AWS documentation.
- You can install it with
- Docker
- Docker is required to build Lambda functions using the
aws-lambda-python-alpha
construct. Please refer to the Docker documentation for more information.
- Docker is required to build Lambda functions using the
Important
This repository is set up to use the Anthropic Claude 3 Sonnet model in the US East (N. Virginia) region (us-east-1) by default. Please open the Model access screen (us-east-1), check the Anthropic Claude 3 Sonnet option, and click Save changes.
Create the Webhook URL required for the notifications.
First open the cdk.json
file and change the destination
value in the context
-notifiers
section from slack
to teams
. Then, refer to this documentation to create the Webhook URL.
Refer to this documentation to create the Webhook URL. Select "Add a Variable" and create the following 5 variables, all with the Text data type:
rss_time
: The time the article was postedrss_link
: The URL of the articlerss_title
: The title of the articlesummary
: A summary of the articledetail
: A bulleted description of the article
Use Parameter Store to securely store the notification URL.
aws ssm put-parameter \
--name "/WhatsNew/URL" \
--type "SecureString" \
--value "<Input your Webhook URL >"
This asset is set up to output summaries in Japanese (日本語) by default. If you want to generate output in other languages such as English, open the cdk.json
file and change the summarizerName
value inside the notifiers
object within the context
section from AwsSolutionsArchitectJapanese
to AwsSolutionsArchitectEnglish
or another language. For more information on other configuration options, please refer to the Deployment Guide. For more information on other configuration options, please refer to the Deployment Guide.
Initialize
If you haven't used CDK in this region before, run the following command:
cdk bootstrap
Verify no errors
cdk synth
Execute Deployment
cdk deploy
If no longer needed, run the following command to delete the stack:
cdk destroy
By default, some resources such as the Amazon DynamoDB table are set to not be deleted. If you need to completely delete everything, you will need to access the remaining resources and manually delete them.
This code interacts with Slack or Microsoft Teams which has terms published at Terms Page (Slack) / Terms Page (Microsoft 365), and pricing described at Pricing Page (Slack) / Pricing Page (Microsoft 365). You should be familiar with the pricing and confirm that your use case complies with the terms before proceeding.