本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
查询知识库并检索数据
重要
护栏仅适用于输入和 LLM 生成的响应。它们不适用于运行时从知识库中检索到的参考信息。
知识库设置完成后,您可以使用 Retrieve API 操作对其进行查询,从源数据中检索与查询相关的分块。您也可以使用重排模型,而不是默认的 Amazon Bedrock 知识库排名器,来对检索期间的来源分块进行相关性排名。
托管知识库注意事项
查询托管知识库时,需要考虑以下注意事项:
-
managedSearchConfiguration用代retrievalConfiguration替vectorSearchConfiguration。该vectorSearchConfiguration字段仅用于自定义知识库。 -
检索始终使用混合搜索,将关键字和语义搜索结合在一起。 Semantic-only 搜索功能不适用于完全托管的知识库。
-
默认情况下,使用服务管理的重新排名模型启用重新排名。您可以使用以下
rerankingModelType字段控制重新排名的行为:managedSearchConfiguration-
MANAGED(默认)-自动使用服务管理的重新排名模型。无需 配置。 -
CUSTOM— 使用你自己的 Bedrock 重新排名模型。您必须为 arerankingConfiguration提供型号 ARN。 -
NONE— 已禁用重新排名。
-
-
托管重排仅适用于使用托管嵌入的知识库。如果您的知识库使用自定义嵌入模型,则可以使用自定义重新排名或禁用重新排名。
-
托管知识库不支持
startsWith和stringContains元数据筛选器。有关更多信息,请参阅 手动元数据筛选。
以下示例显示了对具有托管重排名的完全托管知识库的最低Retrieve请求(默认):
{ "retrievalQuery": { "text": "your query text" } }
要禁止重新排名,请执行以下操作:
{ "retrievalQuery": { "text": "your query text" }, "retrievalConfiguration": { "managedSearchConfiguration": { "rerankingModelType": "NONE" } } }
要使用自定义 Bedrock 重新排名模型,请执行以下操作:
{ "retrievalQuery": { "text": "your query text" }, "retrievalConfiguration": { "managedSearchConfiguration": { "rerankingModelType": "CUSTOM", "rerankingConfiguration": { "type": "BEDROCK_RERANKING_MODEL", "bedrockRerankingConfiguration": { "numberOfRerankedResults": 5, "modelConfiguration": { "modelArn": "arn:aws:bedrock:us-west-2::foundation-model/cohere.rerank-v3-5:0" } } } } } }
要了解如何查询知识库,请选择与您的首选方法对应的选项卡,然后按照以下步骤操作:
注意
如果您在生成响应时收到提示超过字符限制的错误消息,则可以通过以下方式缩短提示:
-
减少检索到的最大结果数(这会缩短 知识库提示模板:编排&生成 中为 $search_results$ 占位符填写的内容)。
-
使用采用更小分块的分块策略重新创建数据来源(这会缩短 知识库提示模板:编排&生成 中为 $search_results$ 占位符填写的内容)。
-
缩短提示模板。
-
缩短用户查询(这会缩短 知识库提示模板:编排&生成 中为 $query$ 占位符填写的内容)。