https://github.com/awslabs/generative-ai-cdk-constructs
AWS Generative AI CDK Constructs are sample implementations of AWS CDK for common generative AI patterns.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.8%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
AWS Generative AI CDK Constructs are sample implementations of AWS CDK for common generative AI patterns.
Basic Info
- Host: GitHub
- Owner: awslabs
- License: apache-2.0
- Language: TypeScript
- Default Branch: main
- Homepage: https://awslabs.github.io/generative-ai-cdk-constructs/
- Size: 46 MB
Statistics
- Stars: 491
- Watchers: 14
- Forks: 68
- Open Issues: 25
- Releases: 402
Topics
Metadata Files
README.md
AWS Generative AI CDK Constructs
All classes are under active development and subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.
Table of contents
- Introduction
- CDK Versions
- Contributing
- Design guidelines and Development guide
- Getting Started
- Catalog
- Sample Use Cases
- Additional Resources
- Contributors
- Operational Metrics Collection
- Roadmap
- Deprecation
- License
- Legal Disclaimer
Introduction
The AWS Generative AI Constructs Library is an open-source extension of the AWS Cloud Development Kit (AWS CDK) that provides multi-service, well-architected patterns for quickly defining solutions in code to create predictable and repeatable infrastructure, called constructs. The goal of AWS Generative AI CDK Constructs is to help developers build generative AI solutions using pattern-based definitions for their architecture.
The patterns defined in AWS Generative AI CDK Constructs are high level, multi-service abstractions of AWS CDK constructs that have default configurations based on well-architected best practices. The library is organized into logical modules using object-oriented techniques to create each architectural pattern model.
CDK Versions
AWS Generative AI CDK Constructs and the AWS CDK are independent teams and have different release schedules. Each release of AWS Generative AI CDK Constructs is built against a specific version of the AWS CDK. The CHANGELOG.md file lists the CDK version associated with each AWS Generative AI Constructs release. For instance, AWS Generative AI CDK Constructs v0.0.0 was built against AWS CDK v2.96.2. This means that to use AWS Generative AI CDK Constructs v0.0.0, your application must include AWS CDK v2.96.2 or later. You can continue to use the latest AWS CDK versions and upgrade the your AWS Generative AI CDK Constructs version when new releases become available.
Contributing
Contributions of all kinds are welcome! Check out our contributor guide
Design guidelines and Development guide
If you want to add a new construct to the library, check out our design guidelines, then follow the development guide
Getting Started
TypeScript
- Create or use an existing CDK application in TypeScript. - `cdk init app --language typescript` - Run `npm install @cdklabs/generative-ai-cdk-constructs` - The package should be added to your package.json. - Import the library: - `import * as genai from '@cdklabs/generative-ai-cdk-constructs';`Python
- Create or use an existing CDK application in Python - `cdk init app --language python` - Install the package: - `pip install cdklabs.generative-ai-cdk-constructs` - Import the library: - `import cdklabs.generative_ai_cdk_constructs`NuGet
- Create or use an existing CDK application in Python - `cdk init app --language csharp` - Install the package while in the Visual Studio project: - `dotnet add package CdkLabs.GenerativeAICdkConstructs` - Use the namespace: - `using Cdklabs.GenerativeAiCdkConstructs;`Go
- Create or use an existing CDK application in Python - `cdk init app --language go` - Get the module: - `go get github.com/cdklabs/generative-ai-cdk-constructs-go/generative-ai-cdk-constructs` - Import the library: - `import "github.com/cdklabs/generative-ai-cdk-constructs-go/generative-ai-cdk-constructs"` _NOTE: The [Go distribution repository](https://github.com/cdklabs/generative-ai-cdk-constructs-go), distributes the JSII tar gzipped versioned source from the [source repository](https://github.awslabs/generative-ai-cdk-constructs)_Java
- Create or use an existing CDK application in Java - `cdk init app --language java` - Add the dependency into the `pom.xml` ```Refer to the documentation for additional guidance on a particular construct: Catalog
Catalog
The following constructs are available in the library:
L3 constructs
| Construct |Description| AWS Services used | |:-------------|:-------------|:-------------| | SageMaker model deployment (JumpStart) | Deploy a foundation model from Amazon SageMaker JumpStart to an Amazon SageMaker endpoint. | Amazon SageMaker | | SageMaker model deployment (Hugging Face) | Deploy a foundation model from Hugging Face to an Amazon SageMaker endpoint. | Amazon SageMaker | | SageMaker model deployment (Custom) | Deploy a foundation model from an S3 location to an Amazon SageMaker endpoint. | Amazon SageMaker | | Amazon Bedrock Monitoring (Amazon CloudWatch Dashboard) | Amazon CloudWatch dashboard to monitor model usage from Amazon Bedrock. | Amazon CloudWatch | | Bedrock Data Automation | Use Amazon bedrock data automation client to to build and manage intelligent document processing, media analysis, and other multimodal data-centric automation solutions | AWS Lambda, Amazon S3 bucket | | Bedrock Batch Step Functions | Manage Bedrock model invocation jobs(batch inference) in AWS Step Functions state machines | AWS Step Functions, AWS Lambda, AWS EventBridge, Amazon Bedrock, AWS IAM |
L2 Constructs
| Construct |Description| AWS Services used | |:-------------|:-------------|:-------------| | Amazon Bedrock | CDK L2 Constructs for Amazon Bedrock. | Amazon Bedrock, Amazon OpenSearch Serverless, AWS Lambda | | Amazon OpenSearch Serverless Vector Collection | CDK L2 Constructs to create a vector collection. | Amazon OpenSearch Vector Index | | Amazon OpenSearch Vector Index | CDK L1 Custom Resource to create a vector index. | Amazon OpenSearch Serverless, AWS Lambda |
Sample Use Cases
The official samples repository includes a collection of functional use case implementations to demonstrate the usage of AWS Generative AI CDK Constructs. These can be used in the same way as architectural patterns, and can be conceptualized as an additional "higher-level" abstraction of those patterns. Those patterns (constructs) are composed together into stacks, forming a "CDK app".
Additional Resources
| Resource | Type | Description| |:-------------|:-------------|:-------------| | AWS re:Invent 2023 - Keynote with Dr. Werner Vogels | Keynote | Dr. Werner Vogels, Amazon.com's VP and CTO, announces the AWS Generative AI CDK Constructs during his AWS re:Invent 2023 keynote. | | Workshop - Building Generative AI Apps on AWS with CDK | Workshop | In this workshop, you will explore how to build a sample generative AI app on AWS using CDK and Generative AI CDK Constructs. | | Workshop - Hands on AWS CDK Generative AI Constructs | Workshop | In this workshop you will deploy projects that use CDK constructs from this library. Projects are from the amazon-bedrock-samples Github Repository. | | Build generative AI applications with Amazon Titan Text Premier, Amazon Bedrock, and AWS CDK | Blog post + Code sample | Blog post exploring building and deploying two sample applications powered by Amazon Titan Text Premier using the Generative AI CDK constructs. | | aws-cdk-stack-builder-tool | Code sample | AWS CDK Builder is a browser-based tool designed to streamline bootstrapping of Infrastructure as Code (IaC) projects using the AWS Cloud Development Kit (CDK). | | CDK Live! Building generative AI applications and architectures leveraging AWS CDK Constructs! | Video | CDK Live! episode focused on building and deploying generative AI applications and architectures on AWS using the AWS Cloud Development Kit (CDK) and the AWS Generative AI CDK Constructs. | | Announcing AWS Generative AI CDK Constructs! | Blog post | Blog post announcing the release of the AWS Generative AI CDK Constructs. | | Streamline insurance underwriting with generative AI using Amazon Bedrock| Blog post + Code sample | Blog post and code sample discussing how to use AWS generative artificial intelligence (AI) solutions like Amazon Bedrock to improve the underwriting process, including rule validation, underwriting guidelines adherence, and decision justification. | | aws-genai-llm-chatbot | Code sample | Multi-Model and Multi-RAG Powered Chatbot Using AWS CDK on AWS allowing you to experiment with a variety of Large Language Models and Multimodal Language Models, settings and prompts in your own AWS account. | | bedrock-claude-chat | Code sample | AWS-native chatbot using Bedrock + Claude (+Mistral). | | amazon-bedrock-rag| Code sample | Fully managed RAG solution using Knowledge Bases for Amazon Bedrock. | | Amazon Bedrock Multimodal Search | Code sample | Multimodal product search app built using Amazon Titan Multimodal Embeddings model. | | Amazon Bedrock Knowledge Bases with Private Data| Blog post + Code sample | Blog post and associated code sample demonstrating how to integrate Knowledge Bases into Amazon Bedrock to provide foundational models with contextual data from private data sources. | | Automating tasks using Amazon Bedrock Agents and AI | Blog post + Code sample | Blog post and associated code sample demonstrating how to deploy an Amazon Bedrock Agent and a Knowledge Base through a hotel and spa use case. | | Agents for Amazon Bedrock - Powertools for AWS Lambda (Python) | Code sample | Create Agents for Amazon Bedrock using event handlers and auto generation of OpenAPI schemas. | | Text to SQL Bedrock Agent | Code sample | Harnessing the power of natural language processing, the "Text to SQL Bedrock Agent" facilitates the automatic transformation of natural language questions into executable SQL queries. | | Dynamic Text-to-SQL for Enterprise Workloads with Amazon Bedrock Agent | Code sample | Elevate your data analysis with an end-to-end agentic Text-to-SQL solution, built on AWS for enterprise-scale adaptability and resilience. Ideal for complex scenarios like fraud detection in financial services. |
Contributors
Operational Metrics Collection
Generative AI CDK Constructs may collect anonymous operational metrics, including: the region a construct is deployed, the name and version of the construct deployed, and related information. We may use the metrics to maintain, provide, develop, and improve the constructs and AWS services.
Roadmap
Roadmap is available through the GitHub Project
Deprecation
To understand our deprecation process, please refer to the dedicated documentation
License
Apache-2.0
Legal Disclaimer
You should consider doing your own independent assessment before using the content in this library for production purposes. This may include (amongst other things) testing, securing, and optimizing the CDK constructs and other content, provided in this library, based on your specific quality control practices and standards.
© Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
Owner
- Name: Amazon Web Services - Labs
- Login: awslabs
- Kind: organization
- Location: Seattle, WA
- Website: http://amazon.com/aws/
- Repositories: 914
- Profile: https://github.com/awslabs
AWS Labs
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| emerging-tech-cdk-constructs-bot | 1****t | 364 |
| Alain Krok | a****k@a****m | 180 |
| Dinesh Sajwan | d****a@a****m | 93 |
| Scott Schreckengaust | s****t | 52 |
| dependabot[bot] | 4****] | 46 |
| github-actions | g****s@g****m | 37 |
| Dinesh Sajwan | s****3@g****m | 30 |
| Rafael Mosca | r****s@a****m | 25 |
| Heitor Vital | h****c@a****m | 21 |
| justintlewis | j****w@a****m | 19 |
| Michael Walker | m****n@g****m | 16 |
| Sergey Pugachev | p****v@a****m | 15 |
| Jeff Strunk | s****d@a****m | 8 |
| Patrick | o****r@a****m | 4 |
| Erdem AYYILDIZ | a****m@o****m | 4 |
| Patrick O'Connor | 3****a | 3 |
| Michael Tran | m****n@a****m | 2 |
| Maksim Tybar | 6****r | 2 |
| rinaudjaws | 7****s | 2 |
| Tomi Juntunen | t****n@i****i | 1 |
| Webysther Sperandio | w****r@g****m | 1 |
| arief hidayat | m****t@g****m | 1 |
| saikatak | 1****k | 1 |
| Takehiro Suzuki | t****u@g****m | 1 |
| SokiKawashima | 1****a | 1 |
| Nico Jahn | n****n@g****m | 1 |
| Michael Kaiser | gh@k****o | 1 |
| Masashi Tomooka | t****s | 1 |
| Laith Al-Saadoon | a****h@g****m | 1 |
| Kerem Nalbant | 4****t | 1 |
| and 8 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 184
- Total pull requests: 821
- Average time to close issues: about 2 months
- Average time to close pull requests: 3 days
- Total issue authors: 64
- Total pull request authors: 35
- Average comments per issue: 1.76
- Average comments per pull request: 1.07
- Merged pull requests: 624
- Bot issues: 8
- Bot pull requests: 84
Past Year
- Issues: 111
- Pull requests: 528
- Average time to close issues: 22 days
- Average time to close pull requests: 3 days
- Issue authors: 42
- Pull request authors: 21
- Average comments per issue: 1.5
- Average comments per pull request: 1.1
- Merged pull requests: 363
- Bot issues: 8
- Bot pull requests: 33
Top Authors
Issue Authors
- krokoko (69)
- emerging-tech-cdk-constructs-bot (39)
- aws-rafams (20)
- github-actions[bot] (8)
- jstrunk (6)
- mccauleyp (6)
- statefb (5)
- massi-ang (3)
- maxtybar (3)
- scottschreckengaust (3)
- rinaudjaws (2)
- mmuller88 (2)
- airmonitor (2)
- o-alexandrov (2)
- leandrodamascena (2)
Pull Request Authors
- emerging-tech-cdk-constructs-bot (706)
- krokoko (188)
- dependabot[bot] (148)
- dineshSajwan (64)
- aws-rafams (59)
- scottschreckengaust (58)
- jstrunk (14)
- MichaelWalker-git (10)
- maxtybar (9)
- erdemayyildiz (8)
- oconpa (8)
- hvital (7)
- cagataycali (4)
- ErdemAyyildiz (4)
- mergify[bot] (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 3
-
Total downloads:
- nuget 15,675 total
- npm 23,142 last-month
- pypi 12,726 last-month
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 755
- Total maintainers: 3
nuget.org: cdklabs.generativeaicdkconstructs
AWS Generative AI CDK Constructs is a library for well-architected generative AI patterns. (Stability: Experimental)
- License: Apache-2.0
-
Latest release: 0.1.309
published 10 months ago
Rankings
Maintainers (1)
pypi.org: cdklabs.generative-ai-cdk-constructs
AWS Generative AI CDK Constructs is a library for well-architected generative AI patterns.
- Homepage: https://github.com/awslabs/generative-ai-cdk-constructs
- Documentation: https://cdklabs.generative-ai-cdk-constructs.readthedocs.io/
- License: Apache-2.0
-
Latest release: 0.1.309
published 10 months ago
Rankings
Maintainers (1)
npmjs.org: @cdklabs/generative-ai-cdk-constructs
AWS Generative AI CDK Constructs is a library for well-architected generative AI patterns.
- Homepage: https://github.com/awslabs/generative-ai-cdk-constructs#readme
- License: Apache-2.0
-
Latest release: 0.1.309
published 10 months ago
Rankings
Maintainers (2)
Dependencies
- hmarr/auto-approve-action 44888193675f29a83e04faf4002fa8c0b537b1e4 composite
- actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
- actions/setup-python 65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 composite
- actions/upload-artifact a8a3f3ad30e3422c9c7b888a15615d19a852ae32 composite
- actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
- actions/download-artifact 9bc31d5ccc31df68ecc42ccf4149144866c47d8a composite
- actions/setup-node 1a4442cacd436585916779262731d5b162bc6ec7 composite
- actions/setup-python 65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 composite
- actions/upload-artifact a8a3f3ad30e3422c9c7b888a15615d19a852ae32 composite
- codecov/codecov-action eaaf4bedf32dbdc6b720b63067d99c4d77d6047d composite
- aws-github-ops/github-merit-badger 70d1c47f7051d6e324d4ddc48d676ba61ef69a3e composite
- github/issue-metrics 6bc5254e72971dbb7462db077779f1643f772afd composite
- peter-evans/create-issue-from-file 433e51abf769039ee20ba1293a088ca19d573b7f composite
- actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
- oss-review-toolkit/ort-ci-github-action 7f23c1f8d169dad430e41df223d3b8409c7a156e composite
- actions/github-script d7906e4ad0b1822421a7e6a35d5ca353c962f410 composite
- amannn/action-semantic-pull-request 01d5fd8a8ebb9aafe902c40c53f0f4744f7381eb composite
- actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
- actions/download-artifact 9bc31d5ccc31df68ecc42ccf4149144866c47d8a composite
- actions/setup-node 1a4442cacd436585916779262731d5b162bc6ec7 composite
- actions/setup-python 65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 composite
- actions/upload-artifact a8a3f3ad30e3422c9c7b888a15615d19a852ae32 composite
- codecov/codecov-action eaaf4bedf32dbdc6b720b63067d99c4d77d6047d composite
- actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
- actions/upload-artifact a8a3f3ad30e3422c9c7b888a15615d19a852ae32 composite
- actions/stale a20b814fb01b71def3bd6f56e7494d667ddf28da composite
- actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
- minicli/action-contributors 20ec03af008cb51110a3137fbf77f59a4fd7ff5a composite
- peter-evans/create-pull-request 153407881ec5c347639a548ade7d8ad1d6740e38 composite
- actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
- actions/download-artifact 9bc31d5ccc31df68ecc42ccf4149144866c47d8a composite
- actions/setup-node 1a4442cacd436585916779262731d5b162bc6ec7 composite
- actions/upload-artifact a8a3f3ad30e3422c9c7b888a15615d19a852ae32 composite
- peter-evans/create-pull-request 38e0b6e68b4c852a5500a94740f0e535e0d7ba54 composite
- public.ecr.aws/lambda/python 3.11.2023.11.13.10-x86_64 build
- public.ecr.aws/lambda/python 3.11.2023.11.13.10-x86_64 build
- public.ecr.aws/lambda/python 3.11.2023.11.13.10-x86_64 build
- public.ecr.aws/lambda/python 3.11.2023.11.13.10-x86_64 build
- public.ecr.aws/lambda/python 3.11.2023.11.13.10-x86_64 build
- public.ecr.aws/lambda/python 3.11.2023.11.13.10-x86_64 build
- public.ecr.aws/lambda/python 3.11.2023.11.13.10-x86_64 build
- @types/jest ^29.5.8 development
- @types/node ^18 development
- @typescript-eslint/eslint-plugin ^6 development
- @typescript-eslint/parser ^6 development
- aws-cdk-lib 2.103.1 development
- constructs 10.3.0 development
- eslint ^8 development
- eslint-import-resolver-node ^0.3.9 development
- eslint-import-resolver-typescript ^3.6.1 development
- eslint-plugin-header ^3.1.1 development
- eslint-plugin-import ^2.29.0 development
- jest ^29.7.0 development
- jest-junit ^15 development
- jsii ~5.0.0 development
- jsii-diff ^1.92.0 development
- jsii-pacmak ^1.92.0 development
- jsii-rosetta ~5.0.0 development
- npm-check-updates ^16 development
- projen ~0.73.33 development
- standard-version ^9 development
- ts-jest ^29.1.1 development
- ts-node ^10.9.1 development
- typescript ^5.2.2 development
- cdk-nag ^2.27.198
- ts-node ^10.9.1 development
- 872 dependencies
- aiohttp *
- aws-lambda-powertools *
- aws-xray-sdk *
- boto3 >=1.28.69
- botocore >=1.31.69
- fastjsonschema *
- langchain ==0.0.329
- numpy *
- opensearch-py *
- opensearch-py ==2.3.1
- requests ==2.31.0
- requests-aws4auth ==1.2.3
- typing-extensions *
- aws-lambda-powertools *
- aws-xray-sdk *
- boto3 >=1.28.61
- botocore >=1.31.61
- fastjsonschema *
- langchain ==0.0.329
- numpy *
- opensearch-py ==2.3.1
- requests ==2.31.0
- requests-aws4auth ==1.2.3
- sagemaker *
- typing-extensions *
- aws-lambda-powertools *
- aws-xray-sdk *
- boto3 *
- requests *
- requests-aws4auth *
- typing-extensions *
- aws-lambda-powertools *
- aws-xray-sdk *
- boto3 *
- fastjsonschema *
- langchain ==0.0.329
- pypdf2 *
- requests *
- typing-extensions *
- aws-lambda-powertools *
- aws-xray-sdk *
- langchain ==0.0.329
- pypdf2 *
- redis *
- requests ==2.31.0
- requests-aws4auth ==1.2.3
- urllib3 <2
- aws-lambda-powertools *
- aws-xray-sdk *
- boto3 >=1.28.61
- requests ==2.31.0
- requests-aws4auth ==1.2.3
- aws-lambda-powertools *
- aws-xray-sdk *
- boto3 >=1.28.61
- botocore >=1.31.61
- langchain ==0.0.329
- nltk ==3.8.1
- redis *
- requests ==2.31.0
- requests-aws4auth ==1.2.3
- urllib3 <2
- boto3 >=1.28.69
- botocore >=1.31.69
- langchain ==0.0.329
- openai ==0.28.1
- opensearch-py ==2.3.1
- requests ==2.31.0
- requests-aws4auth ==1.2.3
- actions/checkout f43a0e5ff2bd294095638e18286ca9a3d1956744 composite
- actions/setup-node 1a4442cacd436585916779262731d5b162bc6ec7 composite