Skip to content

This repo is created to track the labeling performance(worker activity) of your private workforce on SageMaker Groundtruth using AWS Lambda.

Notifications You must be signed in to change notification settings

SonerAbay/AWS-SageMaker-Groundtruth-Tracker-Slack-Bot

Repository files navigation

AWS SageMaker Groundtruth Activity Tracker Slack Bot

This repo is created to track the image labeling performance of our private workforce on SageMaker Groundtruth for emoty.AI

You need to create your own mysql server to make it work. You can delete send_telegram function in storeLabel if you are not interested in getting notified for every single labeling action.

Usage:

  1. Create the mysql tables as in the screenshots. You should manually add the cognito_sub_id of your workers and slack_id to the table. Then set cognito_sub_id in the labels table as foreign key to users table.

  2. Create a lambda function on AWS for storing label to the database.

  3. Go to CloudWatch log groups and find: /aws/sagemaker/groundtruth/WorkerActivity
    Click on Actions -> Subscriptions -> Create Lambda subscription filter Choose the function you created earlier. (If you don't see WorkerActivity on the log groups use groundtruth to label some images then it will create the log files automatically.) This will trigger your lambda function for each worker activity.

  4. Go to your lambda function and upload lambda.zip in aws-lambda-storeLabel directory from the Code Entry Type menu.

  5. Create 3 api gateways for your slash commands with public access on AWS.

  6. Create your slackbot with 3 slash commands: myscore, teamscore, top10 with your api gateway destinations as URL.

  7. Create 3 different AWS Lambda functions. After creating a lambda function on AWS, upload myscore, teamscore and top10 .zip files to the different Lambda Functions.

  8. Add your api gateways as trigger to the Lambda function.

  9. Add your slackbot to your workspace.

Note: If you want, you can handle all of the requests with a single api gateway and lambda function. If you want to do it, you should process the command in the invoke event.

TO DO:

  • Create ranks for gamification purposes
  • Show the number of ensuing days a user completed the daily task(streak)
  • Record the number of daily wins and show in the slack bot

About

This repo is created to track the labeling performance(worker activity) of your private workforce on SageMaker Groundtruth using AWS Lambda.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages