查询知识库并检索数据 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查询知识库并检索数据

知识库设置完成后,您可以使用以下方法对其进行查询,并从源数据中检索与查询相关的区块 RetrieveAPI操作。您也可以使用重新排名模型,而不是默认的 Amazon Bedrock 知识库排名来对检索期间的相关性对源区块进行排名。

要学习如何查询知识库,请选择首选方法的选项卡,然后按照以下步骤操作:

Console
测试知识库
  1. AWS Management Console 使用具有 Amazon Bedrock 权限的IAM角色登录,然后通过以下网址打开 Amazon Bedrock 控制台。https://console.aws.amazon.com/bedrock/

  2. 在左侧导航窗格中,选择知识库

  3. 知识库部分中,执行以下操作之一:

    • 选择要测试的知识库旁边的单选按钮,然后选择测试知识库。一个文本窗口将从右侧展开。

    • 选择您要测试的知识库。一个文本窗口将从右侧展开。

  4. 在测试窗口中,清除 “为查询生成响应” 以返回直接从知识库中检索到的信息。

  5. (可选)选择配置图标 ( ) 以打开配置。您可以修改以下配置:

    • 搜索类型:指定如何查询您的知识库。有关更多信息,请参阅 搜索类型

    • 检索结果的最大数量:指定要检索的最大结果数。有关更多信息,请参阅 检索结果的最大数量

    • 筛选条件:指定最多 5 个筛选条件组,在每个组中最多指定 5 个筛选条件,以用于文件的元数据。有关更多信息,请参阅 手动筛选元数据

  6. 在聊天窗口的文本框中输入查询,然后选择运行,让知识库返回响应。

  7. 源代码块按相关性顺序直接返回。 从数据源中提取的图像也可以作为源块返回。

  8. 要查看有关返回区块的详细信息,请选择 “显示源详细信息”。

    • 要查看您为查询设置的配置,请展开查询配置

    • 要查看有关来源分块的详细信息,请选择其旁边的向右箭头 ( ) 将其展开。您可以查看以下信息:

      • 来自来源分块的原始文本。要复制此文本,请选择复制图标 ( )。如果您使用 Amazon S3 存储数据,请选择外部链接图标 ( ) 以导航到包含该文件的 S3 对象。

      • 与源区块关联的元数据(如果您使用 Amazon S3 存储数据)。属性/字段键和值在与源.metadata.json文档关联的文件中定义。有关更多信息,请参阅中的 “元数据和筛选” 部分配置和自定义查询与响应生成

聊天选项
  • 打开 “生成响应”,切换到基于检索到的源区块生成响应。如果更改设置,聊天窗口中的文本将被完全清除。

  • 要清除聊天窗口,请选择扫帚图标( )。

  • 要复制聊天窗口中的所有输出,请选择复制图标( )。

API

要查询知识库并仅从数据源返回相关文本,请发送 Retrieve使用适用于 Amazon Bedrock 的代理运行时终端节点进行请求。

以下字段是必填字段:

字段 Basic description
knowledgeBaseId 指定要查询的知识库。
retrievalQuery 包含用于指定查询的text字段。
guardrailsConfiguration 包含诸如guardrailsId和之类的 guardrailsConfiguration 字段guardrailsVersion,以便在请求中使用护栏

以下字段是可选字段:

字段 应用场景
nextToken 返回下一批响应(参见下面的响应字段)。
retrievalConfiguration 包括用于自定义向量搜索的查询配置。请参阅KnowledgeBaseVectorSearchConfiguration了解更多信息。

在默认的 Amazon Bedrock 知识库排名模型中,您可以使用重新排名模型而不是默认的 Amazon Bedrock 知识库排名模型。rerankingConfiguration KnowledgeBaseVectorSearchConfigurationrerankingConfiguration字段映射到一个VectorSearchRerankingConfiguration对象,您可以在其中指定要使用的重新排名模型、要包含的任何其他请求字段、在重新排名期间筛选出文档的元数据属性以及重新排名后要返回的结果数。有关更多信息,请参阅 VectorSearchRerankingConfiguration

注意

如果您指定的numberOfRerankedResults值大于中的numberOfResultsKnowledgeBaseVectorSearchConfiguration,则返回的最大结果数就是的值numberOfResults。一个例外情况是,如果您使用查询分解(有关更多信息,请参阅中的 “查询修改” 部分)。配置和自定义查询与响应生成如果使用查询分解,则最多numberOfRerankedResults可以是查询分解的五倍。numberOfResults

该响应以retrievalResults字段中KnowledgeBaseRetrievalResult对象数组的形式返回来自数据源的源块。每个都KnowledgeBaseRetrievalResult包含以下字段:

字段 描述
content 在字段中包含文本源块text或图像源块。byteContent 如果内容是图像,则按以下格式返回 base64 编码内容的数据URI:。data:image/jpeg;base64,${base64-encoded string}
metadata 包含作为键的每个元数据属性以及作为键映射到的JSON值的元数据值。
location 包含源区块所属文档的URI或URL。
分数 文档的相关性分数。您可以使用此分数来分析结果的排名。

如果源区块的数量超过了响应中可以容纳的数量,则该nextToken字段中将返回一个值。在另一个请求中使用该值返回下一批结果。

如果检索到的数据包含图像,则响应还会返回以下响应标头,其中包含响应中返回的源区块的元数据:

  • x-amz-bedrock-kb-byte-content-source— 包含图像的 Amazon S3 URI。

  • x-amz-bedrock-kb-description— 包含图像的 base64 编码字符串。

注意

如果您在生成响应时收到提示超过字符限制的错误消息,则可以通过以下方式缩短提示: