AWS 生成式 AI CDK 构造
所有类都在积极开发中,可能在未来版本中进行非向后兼容的更改或删除。这些不受语义版本控制模型约束。 这意味着虽然您可以使用它们,但在升级到此包的较新版本时可能需要更新源代码。
目录
简介
AWS 生成式 AI 构造库是 AWS Cloud Development Kit (AWS CDK) 的开源扩展,提供多服务、架构良好的模式,用于快速定义代码中的解决方案,以创建可预测和可重复的基础设施,称为 构造。AWS 生成式 AI CDK 构造的目标是帮助开发人员使用基于模式的架构定义来构建生成式 AI 解决方案。
AWS 生成式 AI CDK 构造中定义的模式是 AWS CDK 构造的高级、多服务抽象,具有基于架构良好最佳实践的默认配置。该库使用面向对象技术组织成逻辑模块,以创建每个架构模式模型。
CDK 版本
AWS 生成式 AI CDK 构造和 AWS CDK 是独立的团队,有不同的发布计划。AWS 生成式 AI CDK 构造的每个版本都是针对特定版本的 AWS CDK 构建的。CHANGELOG.md 文件列出了与每个 AWS 生成式 AI 构造版本相关的 CDK 版本。例如,AWS 生成式 AI CDK 构造 v0.0.0 是针对 AWS CDK v2.96.2 构建的。这意味着要使用 AWS 生成式 AI CDK 构造 v0.0.0,您的应用程序必须包含 AWS CDK v2.96.2 或更高版本。您可以继续使用最新的 AWS CDK 版本,并在新版本可用时升级您的 AWS 生成式 AI CDK 构造版本。
贡献
欢迎各种形式的贡献!查看我们的贡献指南
设计指南和开发指南
如果您想向库中添加新的构造,请查看我们的设计指南,然后按照开发指南进行操作
入门
TypeScript
- 创建或使用现有的 TypeScript CDK 应用程序。
cdk init app --language typescript
- 运行
npm install @cdklabs/generative-ai-cdk-constructs
- 该包应该添加到您的 package.json 中。
- 导入库:
import * as genai from '@cdklabs/generative-ai-cdk-constructs';
Python
- 创建或使用现有的 Python CDK 应用程序
cdk init app --language python
- 安装包:
pip install cdklabs.generative-ai-cdk-constructs
- 导入库:
import cdklabs.generative_ai_cdk_constructs
NuGet
- 创建或使用现有的 C# CDK 应用程序
cdk init app --language csharp
- 在 Visual Studio 项目中安装包:
dotnet add package CdkLabs.GenerativeAICdkConstructs
- 使用命名空间:
using Cdklabs.GenerativeAiCdkConstructs;
Go
- 创建或使用现有的 Go CDK 应用程序
cdk init app --language go
- 获取模块:
go get github.com/cdklabs/generative-ai-cdk-constructs-go/generative-ai-cdk-constructs
- 导入库:
import "github.com/cdklabs/generative-ai-cdk-constructs-go/generative-ai-cdk-constructs"
注意:Go 分发仓库 分发了来自 源仓库 的 JSII tar gzip 压缩版本源代码
有关特定构造的其他指导,请参阅文档:目录
目录
该库中提供以下构造:
L3 构造
构造 | 描述 | 使用的 AWS 服务 |
---|---|---|
数据摄取管道 - OpenSearch | 提供 RAG(检索增强生成)源的摄取管道,用于在知识库中存储文档。 | Amazon OpenSearch、AWS Step Functions、Amazon Bedrock、AWS AppSync、AWS Lambda |
数据摄取管道 - Kendra | 提供 RAG(检索增强生成)源的摄取管道,用于在知识库中存储文档。 | Amazon Kendra、AWS Step Functions、AWS AppSync、AWS Lambda |
问答 | 利用大型语言模型(Anthropic Claude V2.1.)进行 PDF 文档问答,使用 RAG(检索增强生成)源和/或长上下文。此外,利用 Anthropic Claude 3 进行图像视觉问答。 | Amazon OpenSearch、AWS Lambda、Amazon Bedrock、AWS AppSync |
摘要生成 | 使用大型语言模型(Anthropic Claude V2.1.)进行文档摘要生成。 | AWS Lambda、Amazon Bedrock、AWS AppSync 和 Amazon ElastiCache for Redis。 |
SageMaker 模型部署(JumpStart) | 将 Amazon SageMaker JumpStart 的基础模型部署到 Amazon SageMaker 端点。 | Amazon SageMaker |
SageMaker 模型部署(Hugging Face) | 将 Hugging Face 的基础模型部署到 Amazon SageMaker 端点。 | Amazon SageMaker |
SageMaker 模型部署(自定义) | 将 S3 位置的基础模型部署到 Amazon SageMaker 端点。 | Amazon SageMaker |
内容生成 | 使用 Amazon titan-image-generator-v1 或 stability.stable-diffusion-xl 模型从文本生成图像。 | AWS Lambda、Amazon Bedrock、AWS AppSync |
网络爬虫 | 定期爬取网站和 RSS 源,并将变更集数据存储在 Amazon Simple Storage Service 存储桶中。 | AWS Lambda、AWS Batch、AWS Fargate、Amazon DynamoDB |
L2 构造
构造 | 描述 | 使用的 AWS 服务 |
---|---|---|
Lambda 层 | 提供依赖项和实用工具以在 AWS 上开发生成式 AI 应用程序的 Python Lambda 层。 | AWS Lambda、Amazon Bedrock、Amazon SageMaker |
Amazon Bedrock | Amazon Bedrock 的 CDK L2 构造。 | Amazon Bedrock、Amazon OpenSearch Serverless、AWS Lambda |
Amazon OpenSearch Serverless 向量集合 | 创建向量集合的 CDK L2 构造。 | Amazon OpenSearch 向量索引 |
Amazon OpenSearch 向量索引 | 创建向量索引的 CDK L1 自定义资源。 | Amazon OpenSearch Serverless、AWS Lambda |
示例用例
官方示例存储库 https://github.com/aws-samples/generative-ai-cdk-constructs-samples 包含一系列功能性用例实现,用于演示 AWS 生成式 AI CDK 构造的使用。这些可以与架构模式相同的方式使用,并可以被概念化为这些模式的额外"更高级别"抽象。这些模式(构造)被组合成堆栈,形成一个"CDK 应用程序"。
其他资源
资源 | 类型 | 描述 |
---|---|---|
AWS re:Invent 2023 - Werner Vogels 博士的主题演讲 | 主题演讲 | Amazon.com 副总裁兼首席技术官 Werner Vogels 博士在 AWS re:Invent 2023 主题演讲中宣布了 AWS 生成式 AI CDK 构造。 |
研讨会 - 使用 CDK 在 AWS 上构建生成式 AI 应用 | 研讨会 | 在这个研讨会中,你将探索如何使用 CDK 和生成式 AI CDK 构造在 AWS 上构建示例生成式 AI 应用。 |
使用 Amazon Titan Text Premier、Amazon Bedrock 和 AWS CDK 构建生成式 AI 应用程序 | 博客文章 + 代码示例 | 探讨使用生成式 AI CDK 构造构建和部署两个由 Amazon Titan Text Premier 驱动的示例应用程序的博客文章。 |
aws-cdk-stack-builder-tool | 代码示例 | AWS CDK Builder 是一个基于浏览器的工具,旨在使用 AWS 云开发工具包(CDK)简化基础设施即代码(IaC)项目的引导。 |
CDK Live! 利用 AWS CDK 构造构建生成式 AI 应用程序和架构! | 视频 | CDK Live! 集中讨论使用 AWS 云开发工具包(CDK)和 AWS 生成式 AI CDK 构造在 AWS 上构建和部署生成式 AI 应用程序和架构。 |
宣布 AWS 生成式 AI CDK 构造! | 博客文章 | 宣布发布 AWS 生成式 AI CDK 构造的博客文章。 |
使用 Amazon Bedrock 简化保险承保流程的生成式 AI | 博客文章 + 代码示例 | 讨论如何使用 Amazon Bedrock 等 AWS 生成式人工智能(AI)解决方案来改进承保流程的博客文章和代码示例,包括规则验证、承保指南遵守和决策理由。 |
aws-genai-llm-chatbot | 代码示例 | 使用 AWS CDK 在 AWS 上的多模型和多 RAG 驱动的聊天机器人,允许你在自己的 AWS 账户中尝试各种大型语言模型和多模态语言模型、设置和提示。 |
bedrock-claude-chat | 代码示例 | 使用 Bedrock + Claude(+Mistral)的 AWS 原生聊天机器人。 |
amazon-bedrock-rag | 代码示例 | 使用 Amazon Bedrock 知识库的全托管 RAG 解决方案。 |
Amazon Bedrock 多模态搜索 | 代码示例 | 使用 Amazon Titan 多模态嵌入模型构建的多模态产品搜索应用。 |
使用私有数据的 Amazon Bedrock 知识库 | 博客文章 + 代码示例 | 演示如何将知识库集成到 Amazon Bedrock 中,为基础模型提供来自私有数据源的上下文数据的博客文章和相关代码示例。 |
使用 Amazon Bedrock 代理和 AI 自动化任务 | 博客文章 + 代码示例 | 通过酒店和水疗用例演示如何部署 Amazon Bedrock 代理和知识库的博客文章和相关代码示例。 |
Amazon Bedrock 代理 - Powertools for AWS Lambda (Python) | 代码示例 | 使用事件处理程序和 OpenAPI 架构自动生成创建 Amazon Bedrock 代理。 |
文本到 SQL Bedrock 代理 | 代码示例 | 利用自然语言处理的力量,"文本到 SQL Bedrock 代理"促进自然语言问题自动转换为可执行的 SQL 查询。 |
贡献者
运营指标收集
生成式 AI CDK 构造可能会收集匿名运营指标,包括:构造部署的区域、部署的构造名称和版本以及相关信息。我们可能会使用这些指标来维护、提供、开发和改进构造和 AWS 服务。
路线图
路线图可通过 GitHub 项目 获得
许可证
Apache-2.0
法律免责声明
在将此库中的内容用于生产目的之前,你应该考虑进行自己的独立评估。这可能包括(但不限于)根据你特定的质量控制实践和标准,测试、保护和优化此库中提供的 CDK 构造和其他内容。
© 版权所有 Amazon.com, Inc. 或其附属公司。保留所有权利。