Skip to content

bhavsarpratik/serverless-transformers-on-aws-lambda

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

End2End Serverless Transformers On AWS Lambda for NLP πŸš€

You need no servers

Deploy transformers with ease πŸ’†β€β™‚οΈ

Go through this video and slide deck for full info.

Current available pipelines

  1. classification
  2. sentence encoding
  3. translation (coming soon)
  4. token classification
  5. text generation
  6. zero shot classification

What you get with this?

  • ability to run transformers without servers
  • complete CI/CD
  • concurrency upto 1000 (default AWS limit)

How to use this?

  • clone the repo
  • keep the pipeline folder you want to use
  • modify the source and tests
  • keep the corresponding github action in .github/workflows
  • modify directory, registry and lambda function name in workflow
  • create repository in AWS ECR
  • update ECR path in the workflow
  • set up secrets in repo (needed for access to AWS; this creds should have access to ECR and Lambda)
    • AWS_ACCESS_KEY_ID
    • AWS_SECRET_ACCESS_KEY
  • push the code
  • create PR
    • this will build the container
    • run all the tests
    • push container to ECR registry
    • update lambda with the new container (this will not happen when you push the first time)
  • create lambda function if it does not exist
    • give appropriate IAM role
    • set timeout and RAM
  • create API in API gateway and link to lambda

Done! Now you can call the lambda using the API