查询知识库并生成 AI 响应 - Amazon Bedrock

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

查询知识库并生成 AI 响应

您可以查询知识库以从专有数据中检索信息。输入测试查询时,将检索来自数据源的相关文本块。您还可以根据检索到的源代码块为查询生成响应。

要了解如何查询知识库,请选择与您选择的方法相对应的选项卡,然后按照以下步骤操作:

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

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

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

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

    • 选择要测试的知识库。测试窗口从右侧展开。

  4. 根据您的用例,选择或清除 “为查询生成响应”。

    • 要返回直接从知识库中检索到的信息,请关闭 “生成响应”。Amazon Bedrock 将从您的数据源中返回与查询相关的文本块。

    • 要根据从知识库中检索到的信息生成响应,请打开 “生成响应”。Amazon Bedrock 将根据您的数据源生成响应,并在脚注中引用其提供的信息。

  5. 如果您打开生成响应请选择选择模型以选择用于生成响应的模型。然后选择 “应用”。

  6. (可选)选择配置图标 ( Three horizontal sliders with adjustable circular controls for settings or parameters. ) 以打开配置。您可以修改以下配置:

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

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

    • 筛选器-指定最多 5 个筛选器组,在每个组中最多指定 5 个筛选器,用于文件的元数据。有关更多信息,请参阅 元数据和筛选

    • 知识库提示模板-如果您开启了 “生成响应”,则可以将默认的提示模板替换为自己的模板,以自定义发送到模型以生成响应的提示。有关更多信息,请参阅 知识库提示模板

    • Guardrails — 如果您开启了 “生成响应”,则可以根据知识库的提示和响应来测试护栏的工作原理。有关更多信息,请参阅 防护机制

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

  8. 您可以通过以下方式检查响应。

    • 如果您没有生成响应,则会按相关性顺序直接返回文本块。

    • 如果您生成了回复,请选择脚注以查看该部分回复的引用来源摘录。选择链接以导航到包含该文件的 S3 对象。

    • 要查看有关每个脚注中引用的区块的详细信息,请选择 “显示来源详细信息”。您可以在来源详细信息窗格中执行以下操作:

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

      • 要查看有关源区块的详细信息,请选择其旁边的右箭头 ( Play button icon with a triangular shape pointing to the right. ) 将其展开。您可以看到以下信息:

        • 来自源代码块的原始文本。要复制此文本,请选择复制图标 ( Icon representing a crop or resize function, with two overlapping rectangles. )。如果使用 Amazon S3 存储您的数据,请导航到包含该文件的 S3 对象,选择外部链接图标 ( Icon of a square with an arrow pointing outward from its top-right corner. )。

        • 与源区块关联的元数据。如果使用 Amazon S3 存储您的数据,则属性/字段键和值将在与源文档关联.metadata.json的文件中定义。有关更多信息,请参阅 Amazon S3 连接配置,包括元数据

聊天选项
  1. 如果您正在生成响应,则可以选择更改模型以使用不同的模型生成响应。如果更改模型,聊天窗口中的文本将被完全清除。

  2. 通过选择或清除 “生成回复”,在为查询生成回复和直接返回报价之间切换。如果更改设置,聊天窗口中的文本将被完全清除。

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

  4. 要复制聊天窗口中的所有输出,请选择复制图标 ( Icon representing a crop or resize function, with two overlapping rectangles. )。

API

检索

要查询知识库并仅从数据源返回相关文本,请发送 Retrieve使用适用于 Amazon Bedrock 的代理运行时终端节点进行请求(有关请求和响应格式以及字段详情,请参阅链接)。

下表简要描述了参数和请求正文(有关详细信息和请求结构,请参阅检索请求语法

Variable 必填? 应用场景
knowledgeBaseId 指定要查询的知识库
retrievalQuery 包含用于指定查询的text字段
nextToken 返回下一批回复
retrievalConfiguration 包括用于自定义矢量搜索的查询配置

下表简要描述了响应正文(有关详细信息和响应结构,请参阅检索响应语法

Variable 应用场景
retrievalResults 包含源区块、源的 Amazon S3 位置以及区块score的相关性。
nextToken 在另一个请求中使用以返回下一批结果。

RetrieveAndGenerate

要查询知识库并使用基础模型根据数据源的结果生成响应,请发送 RetrieveAndGenerate使用适用于 Amazon Bedrock 运行时终端节点的代理进行请求。

下表简要描述了参数和请求正文(有关详细信息和请求结构,请参阅RetrieveAndGenerate 请求语法):

Variable 必填? 应用场景
input 包含用于指定查询的text字段
retrieveAndGenerate配置 用于指定要查询的知识库、用于生成响应的模型或推理配置文件以及可选的查询配置
sessionId 使用相同的值继续相同的会话并维护信息
sessionConfiguration 包括用于加密会话的密KMS钥

下表简要描述了响应正文(有关详细信息和响应结构,请参阅检索响应语法):

Variable 应用场景
引用 在每个对象中包含生成的响应的一部分generatedResponsePart,以及对象中的源代码块和content对象中源的 Amazon S3 位置。location retrievedReferences
guardrailAction 指定响应中是否使用了护栏。
output 包含生成的整个响应。
sessionId 包含会话的 ID,您可以在其他请求中重复使用该ID以保持相同的对话
注意

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

  • 减少检索到的最大结果数(这会缩短中为 $search_results$ 占位符填写的内容)。知识库提示模板

  • 使用使用较小区块的分块策略重新创建数据源(这会缩短中为 $search_results$ 占位符填写的内容)。知识库提示模板

  • 缩短提示模板。

  • 缩短用户查询(这会缩短中为 $query$ 占位符填写的内容)。知识库提示模板