生成式AI快速启动概念验证
本代码仓库包含展示利用Amazon Bedrock和生成式AI的各种用例的示例代码。每个示例都是一个独立的项目,有自己的目录,并包含一个基本的Streamlit前端,以帮助用户快速建立概念验证。
作者:Brian Maguire, Dom Bavaro, Ryan Doty, Sudeesh Sasidharan, Tarik Makota
示例概念验证 - Python
-
Amazon-Bedrock-长文档摘要-概念验证: 这个示例展示了如何使用Amazon Bedrock和生成式AI来实现长文档摘要用例。用户可以上传大型PDF文档,这些文档会被分块并使用Amazon Bedrock进行摘要。
-
Amazon-Bedrock-RAG-OpenSearch无服务器-概念验证: 这个示例展示了如何创建存储在Amazon OpenSearch无服务器中的自定义嵌入,并使用Amazon Bedrock的检索增强生成(RAG)架构对索引嵌入进行问答。
-
Amazon-Bedrock-RAG-Kendra-概念验证: 这个示例实现了一个基于RAG的架构,结合Amazon Kendra,允许用户使用Amazon Bedrock对存储在Amazon Kendra索引中的文档进行提问。
-
Amazon-Bedrock-图像生成-概念验证: 这个示例展示了如何使用Amazon Bedrock和生成式AI基于文本输入请求生成图像。
-
Amazon-Bedrock-生成式AI动态提示解释-概念验证: 这个示例使用Amazon Bedrock提供了关于动态提示在生成式AI中如何工作的实践解释。
-
Amazon-Bedrock-文档生成器: 这个示例展示了如何使用Amazon Bedrock和生成式AI基于文档模板和用户提供的详细信息进行文档生成。
-
Amazon-Bedrock-文档比较-概念验证: 这个示例允许用户上传两个PDF文档,并使用Amazon Bedrock和生成式AI获取它们之间的所有变更列表。
-
Amazon-Bedrock-Claude3多模态示例: 这个示例展示了Amazon Bedrock(特别是Anthropic Claude 3)的多模态能力,允许用户输入文本问题、图像或两者结合来获得全面的描述或答案。
-
Amazon-Bedrock-聊天-概念验证: 这个示例使用Amazon Bedrock和生成式AI提供了一个ChatGPT替代方案,允许用户提出零样本问题并获得回答。
-
Amazon-Bedrock-Amazon-Redshift-概念验证: 这个示例展示了如何使用Amazon Bedrock和生成式AI提出自然语言问题,并将其转换为针对Amazon Redshift数据库的SQL查询。
-
Amazon-Bedrock-Amazon-RDS-概念验证: 这个示例允许用户使用Amazon Bedrock和生成式AI提出自然语言问题,并将其转换为针对Amazon RDS数据库的SQL查询。
-
Amazon-Bedrock-Amazon-Athena-概念验证: 这个示例展示了如何使用Amazon Bedrock和生成式AI提出自然语言问题,并将其转换为针对Amazon Athena数据库的SQL查询。
-
Amazon-Bedrock-流式响应-概念验证: 这个示例展示了如何使用Amazon Bedrock和生成式AI实现流式响应。应用程序设计了一个简单的Streamlit前端,让用户可以直接向他们选择的大型语言模型(LLM)输入零样本请求,利用大多数Amazon Bedrock模型的流式响应技术。
-
Amazon-Bedrock-Claude3流式响应-概念验证: 这个示例展示了如何使用Amazon Bedrock和生成式AI实现流式响应。应用程序设计了一个简单的Streamlit前端,让用户可以直接向Claude 3输入零样本请求,利用流式响应技术的同时利用了Anthropic Messages API结构。
-
Amazon-Bedrock-知识库RAG-概念验证: 这个示例实现了一个基于RAG的架构,结合Amazon Bedrock知识库,允许用户使用Amazon Bedrock对存储在Amazon Bedrock知识库中的文档进行提问。
-
Amazon-Bedrock-Langchain-RAG-POC: 该示例使用Langchain实现了基于Amazon Bedrock知识库的RAG架构,以帮助协调从知识库中检索信息。这允许用户使用Amazon Bedrock和Langchain作为协调器,针对存储在Amazon Bedrock知识库中的文档提出问题。
-
Amazon-Bedrock-异步调用-POC: 该示例实现了Amazon Bedrock的异步调用,允许用户同时向Bedrock模型发出多个调用以减少总体延迟。这使用户能够同时向3个以上的模型提问,展示了通过异步方式相比顺序方式减少延迟的效果。
-
Amazon-Bedrock-模型试验场-POC: 该示例实现了一个Amazon Bedrock生成式AI模型试验场,允许用户选择Amazon Bedrock提供的任何LLM,并直接对其进行零样本问题提问。这为业务用户提供了在没有访问AWS控制台的情况下,实验不同Amazon Bedrock LLM的能力。
-
Amazon-Bedrock-Claude3-图像分析-POC: 该示例实现了一个图像分析应用,使用Amazon Bedrock和Claude3从图像中收集数据并以JSON格式返回。这为用户提供了快速实验图像分析用例的能力,并可以根据其图像分析用例的需求自定义JSON响应。
-
Amazon-Bedrock-防护栏-POC 该示例实现了Amazon Bedrock防护栏,以展示如何利用防护栏来防止在使用Amazon Bedrock构建的生成式AI应用程序中出现恶意提示和响应。
-
Amazon-Bedrock-视频章节搜索-POC: 这是一个示例代码,演示了使用Amazon Transcribe、Amazon Bedrock和生成式AI来实现视频章节生成器和视频搜索示例。
-
Amazon-Bedrock-模型定制-POC 示例笔记本提供了在Bedrock中微调和预训练模型的指导。笔记本中使用的示例数据可以替换为任何csv文件中的数据,以使用Amazon Titan Express作为基础模型创建微调和预训练模型。
-
Amazon-Bedrock-语音转文本聊天-POC: 该示例提供了一个ChatGPT替代方案,使用Amazon Transcribe、Amazon Polly、Amazon Bedrock和生成式AI,允许用户使用语音转文本提示提出零样本问题并听取回答。
-
Amazon-Bedrock-CSV聊天机器人-POC: 这是一个示例代码,演示了使用Amazon Bedrock和生成式AI实现一个能够基于用户提供的CSV数据与用户对话的聊天机器人。
-
Amazon-Bedrock-翻译-POC: 这是一个示例代码,演示了使用Amazon Bedrock和生成式AI将文本从源语言翻译成目标语言。
-
Amazon-Bedrock-会议纪要总结-POC: 该代码演示了使用Amazon Bedrock和Amazon Transcribe生成会议纪要摘要和关键行动项。它接受mp4、wav、mp4a和txt等格式的会议录音作为输入。然后处理这些录音,输出一个文本,总结会议的主要讨论点和行动项。这个摘要文本可以下载为.txt文件以供审阅和分享。
-
Amazon-Bedrock-对话API-POC: 这个示例POC展示了如何使用Amazon Bedrock对话API来实现会话式生成AI用例。它展示的关键特性是Amazon Bedrock对话API能够保留聊天历史,为最终用户提供上下文感知的响应。
-
Amazon-Bedrock-对话流API-POC: 这个示例概念验证演示了如何使用Amazon Bedrock ConverseStream API来实现对话式生成式AI用例。它展示的关键特性是Amazon Bedrock ConverseStream API如何提供流式处理能力来改善最终用户体验。ConverseStream API能够保留聊天历史,为最终用户提供上下文感知的响应。
-
Amazon-Bedrock-Model-Eval-POC: 这是一个示例代码,旨在加速那些希望利用Amazon Bedrock模型评估器和自定义提示数据的客户。这个概念验证(POC)使用户能够提供一个包含应与Amazon Bedrock模型评估器一起使用的数据的CSV文件。
-
Amazon-Bedrock-Text-Extraction-POC: 这是一个示例概念验证,展示了客户如何利用大型语言模型来执行文本提取用例。
-
Amazon-Bedrock-Claude3-Long-Form-Output-POC: 这是一个示例代码,旨在加速客户使用Claude3处理长格式输出。
-
Amazon-Bedrock-Task-Classification: 这个示例代码演示了如何使用Amazon Bedrock和生成式AI来实现任务分类机器人。该应用程序允许用户输入一个任务,并获得正确的分类,然后触发适当的下游工作流来处理输入的任务。
.NET 示例概念验证
-
Amazon-Bedrock-Summarization-Long-Document-POC: Amazon-Bedrock-Document-Generator:此示例演示了如何使用 Amazon Bedrock 和生成式 AI 根据文档模板和用户提供的详细信息生成文档。
-
Amazon-Bedrock-Knowledgebases-RAG-POC: 此示例实现了基于 RAG 的架构,使用 Amazon Bedrock Knowledge Bases,允许用户通过 Amazon Bedrock 对存储在 Amazon Bedrock Knowledge Base 中的文档提问。
-
Amazon-Bedrock-Kendra-RAG-POC: 此示例实现了基于 RAG 的架构,使用 Amazon Kendra,允许用户对存储在 Kendra 索引中的文档提问,并使用 Amazon Bedrock 模型进行问答。
-
Amazon-Bedrock-Converse-API-POC: 这是一个示例代码,演示了如何使用 Amazon Bedrock Converse API 创建会话应用程序,与 Amazon Bedrock 模型进行消息的发送和接收。
-
Amazon-Bedrock-Guardrails-POC: 这是一个示例代码,演示了如何使用 Amazon Bedrock Guardrails 来帮助防止提示注入攻击并防止 LLM 产生非预期响应。该应用程序使用简单的 ASP.NET Blazor 前端构建,用户可以向 Claude 3 输入零样本请求,同时使用 Amazon Bedrock Guardrails 防止恶意提示和响应。
先决条件 - Python
- Amazon Bedrock 访问权限和 CLI 凭证
- 在您的机器上安装 Python 3.10
- 每个示例特定的其他先决条件(例如 RDS 数据库、Amazon Kendra 索引等)
先决条件 - .NET
- Amazon Bedrock 访问权限和 CLI 凭证(请确保您的 AWS CLI 配置文件具有访问 Amazon Bedrock 的权限!)
- .NET 8.0
- 在您的机器上安装 Visual Studio
- 每个示例特定的其他先决条件(例如 RDS 数据库、Amazon Kendra 索引等)
- 配置必要的环境变量(例如 AWS 凭证、数据库连接等)
- 访问 Claude 3 haiku 模型。请按照此 AWS 文档 获取模型访问权限。
- 运行 Blazor 应用程序
入门指南
- 克隆存储库。
- 导航到所需的示例目录。
- 设置 Python 虚拟环境并安装所需的依赖项。
- 配置必要的环境变量(例如 AWS 凭证、数据库连接等)。
- 使用提供的命令运行 Streamlit 应用程序。
每个示例的详细说明都在各自的目录中提供。
安全性
有关更多信息,请参阅 CONTRIBUTING。
许可证
该库根据 MIT-0 许可证授权。请参阅 LICENSE 文件。