该存储库提供了使用Amazon Bedrock的检索增强生成(RAG)技术来实现问答应用程序的示例代码。抹布的实现包括两个部分:
一条数据管道从文档(通常存储在Amazon S3中)摄入的数据管道中,即知识库,即Amazon OpenSearch Service Service(AOSS)等矢量数据库,以便在收到问题时可以查找。
从用户那里收到问题的应用程序,查找相关信息(上下文)的知识库,然后创建一个提示,其中包括问题和上下文,并将其提供给LLM以生成响应。
数据管道代表了一个未分化的繁重,可以使用亚马逊基岩代理进行知识库实施。现在,我们可以将S3存储桶连接到诸如AOSS之类的向量数据库,并让基岩代理读取对象(HTML,PDF,文本等),块,然后使用Amazon Titan Embeddings模型将这些块转换为嵌入式,然后将这些嵌入在AOSS中。所有这些无需构建,部署和管理数据管道。
一旦基础知识库中的数据可用,就可以使用以下架构模式来构建问题回答应用程序。

请按照下面列出的步骤创建并运行抹布解决方案。 blog_post.md详细描述了此解决方案。
使用下表中的一个按钮启动此存储库中包含的AWS云形式模板。云形式模板在您的AWS帐户中创建以下资源:Amazon OpenSearch Service无服务器(AOSS)集合,Amazon S3 Bucket,Amazon Bedrock知识库的IAM角色,以及带有此存储库的Amazon Sagemaker Notebook和Amazon Sagemaker Notebook,并将此存储库克隆来运行下一步。
| AWS地区 | 关联 |
|---|---|
| us-east-1(弗吉尼亚州N.) | ![]() |
| US-West-2(俄勒冈州) | ![]() |
在构建基于抹布的问题答案解决方案中使用Amazon Bedrock知识库和Amazon OpenSearch Service无服务器
有关更多信息,请参见贡献。
该图书馆已获得MIT-0许可证的许可。请参阅许可证文件。