AMAZON.QnAIntent - Amazon Lex

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

AMAZON.QnAIntent

注意

在利用生成式人工智能功能之前,您必须满足以下先决条件

  1. 导航到 Amazon Bedrock 控制台并注册您打算使用的 Anthropic Claude 模型的访问权限(有关更多信息,请参阅模型访问权限)。有关使用 Amazon Bedrock 的定价信息,请参阅 Amazon Bedrock 定价

  2. 为机器人区域设置开启生成式人工智能功能。为此,请按照使用生成式 AI 优化 Lex V2 机器人的创建和性能中的步骤进行操作。

使用 Amazon Bedrock FM 搜索和汇总FAQ回复,从而回复买家的问题。当某个言语未被归类为机器人中存在的任何其他意图时,就会激活该意图。请注意,引发槽位值时,不会因为错过的言语而激活该意图。AMAZON.QnAIntent 被识别后,将使用指定的 Amazon Bedrock 模型搜索已配置的知识库并回答客户的问题。

警告

不能在同一个机器人区域设置中使用 AMAZON.QnAIntentAMAZON.KendraSearchIntent

可使用以下知识库选项。您必须已创建该知识库并为其中的文档编制了索引。

  • OpenSearch 服务域-包含已编入索引的文档。要创建域名,请按照创建和管理亚马逊 OpenSearch 服务域中的步骤进行操作。

  • 亚马逊 Kendra 索引 — 包含已编FAQ入索引的文档。要创建 Amazon Kendra 索引,请按照创建索引中的步骤进行操作。

  • Amazon Bedrock 知识库 – 包含已编入索引的数据源。要设置知识库,请按照构建知识库中的步骤进行操作。

如果选择该意图,则需要配置以下字段,然后选择添加以添加该意图。

  • Bedrock 模型 – 选择要用于该意图的提供商和基础模型。目前,支持 Anthropic Claude V2、Anthropic Claude 3 Haiku、Anthropic Claude 3 Haiku 和 Anthropic Cla

  • 知识库 – 选择您希望模型从中提取信息以回答客户问题的来源。以下是可用的来源。

    • OpenSearch— 配置以下字段。

      • 域端点 – 提供您为域创建的域端点或在创建域之后提供给您的域端点。

      • 索引名称 – 提供要搜索的索引。有关更多信息,请参阅在 Amazon OpenSearch 服务中为数据编制索引

      • 选择向客户返回响应的方式。

        • 确切响应 – 启用此选项后,“答案”字段中的值将按原样用于机器人响应。配置的 Amazon Bedrock 基础模型用于按原样选择确切的答案内容,无需进行任何内容合成或总结。指定在 OpenSearch 数据库中配置的问答字段的名称。

        • 包含字段:返回模型使用您指定的字段生成的答案。最多指定在 OpenSearch 数据库中配置的五个字段的名称。使用分号(;)分隔字段。

    • Amazon Kendra:配置以下字段。

      • Amazon Kendra 索引:选择您希望机器人搜索的 Amazon Kendra 索引。

      • Amazon Kendra 筛选条件:要创建筛选条件,请选中此复选框。有关 Amazon Kendra 搜索筛选器JSON格式的更多信息,请参阅使用文档属性筛选搜索结果

      • 确切响应:要让您的机器人返回 Amazon Kendra 返回的确切响应,请选中此复选框。否则,您选择的 Amazon Bedrock 模型会根据结果生成响应。

        注意

        要使用此功能,必须先按照向索引中添加FAQ常见问题 (FAQs) 中的步骤向索引中添加问题

    • Amazon Bedrock 知识库:如果选择此选项,请指定知识库的 ID。您可以通过在控制台中查看知识库的详细信息页面或发送GetKnowledgeBase请求来找到 ID。

      • 确切响应 – 启用此选项后,“答案”字段中的值将按原样用于机器人响应。配置的 Amazon Bedrock 基础模型用于按原样选择确切的答案内容,无需进行任何内容合成或总结。要对 Amazon Bedrock 知识库使用准确的响应,您需要执行以下操作:

        • 创建单独的JSON文件,每个文件都包含一个答案字段,其中包含需要返回给最终用户的确切响应。

        • 在 Bedrock 知识库中为这些文档编制索引时,请选择 “分块策略” 作为 “分块”。

        • 将 Amazon Lex V2 中的答案字段定义为 Bedrock 知识库中的答案字段。

来自 Q 的响应nAIntent 将存储到请求属性中,如下所示:

  • x-amz-lex:qnA-search-response— 问nAIntent 答者对问题或话语的回应。

  • x-amz-lex:qnA-search-response-source:指向用于生成响应的文档或文档列表。

其他型号配置

调用 AMAZON .Q nAIntent 时,它使用默认的提示模板,该模板将指令和上下文与用户查询相结合,以构造发送到模型以生成响应的提示。您也可以提供自定义提示或更新默认提示以满足您的要求。

您可以使用以下工具设计提示模板:

提示占位符 — nAIntent Amazon Bedrock AMAZON 的.Q 中预定义的变量,这些变量在基底调用期间在运行时动态填充。在系统提示符中,您可以看到这些占位符被$符号包围。以下列表描述了您可以使用的占位符:

Variable 取而代之的是 模型 必填?
$query_results$ 从知识库中检索到的用户查询结果 Anthropic Claude3 俳句、Anthropic Claude3
$output_instruction$ 格式化响应生成和引文的基本说明。因型号而异。如果您自己定义格式化说明,我们建议您删除此占位符。 Anthropic Claude3 俳句、Anthropic Claude3

使用的@@ 默认提示是:

$query_results$ Please only follow the instructions in <instruction> tags below. <instruction> Given the conversation history, and <Context>: (1) first, identify the user query intent and classify it as one of the categories: FAQ_QUERY, OTHER_QUERY, GIBBERISH, GREETINGS, AFFIRMATION, CHITCHAT, or MISC; (2) second, if the intent is FAQ_QUERY, predict the most relevant grounding passage(s) by providing the passage id(s) or output CANNOTANSWER; (3) then, generate a concise, to-the-point FAQ-style response ONLY USING the grounding content in <Context>; or output CANNOTANSWER if the user query/request cannot be directly answered with the grounding content. DO NOT mention about the grounding passages such as ids or other meta data; do not create new content not presented in <Context>. Do NOT respond to query that is ill-intented or off-topic; (4) lastly, provide the confidence level of the above prediction as LOW, MID or HIGH. </instruction> $output_instruction$

$output_instru ction$ 被替换为:

Give your final response in the following form: <answer> <intent>FAQ_QUERY or OTHER_QUERY or GIBBERISH or GREETINGS or AFFIRMATION or CHITCHAT or MISC</intent> <text>a concise FAQ-style response or CANNOTANSWER</text> <passage_id>passage_id or CANNOTANSWER</passage_id> <confidence>LOW or MID or HIGH</confidence> </answer>
注意

如果您决定不使用默认指令,则无论LLM提供的任何输出都将按原样返回给最终用户。

输出指令需要包含<text></text>和 < passageId ></ passageId > 标签和说明,LLM以便返回 passageIds 以提供响应和来源归因。

Amazon Bedrock 知识库支持通过会话属性筛选元数据

您可以将 Amazon Bedrock 知识库元数据筛选器作为会话属性x-amz-lex:bkb-retrieval-filter的一部分进行传递。

{"sessionAttributes":{"x-amz-lex:bkb-retrieval-filter":"{\"equals\":{\"key\":\"insurancetype\",\"value\":\"farmers\"}}
注意

您需要使用 Amazon Bedrock 知识库作为 Q 的数据存储nAIntent 才能使用此筛选器。有关更多信息,请参阅 Metadata filtering

推理配置

你可以使用 session 属性定义在调用时将使用的推理配置:LLM

  • 温度:类型整数

  • topP

  • maxTokens

示例:

{"sessionAttributes":{"x-amz-lex:llm-text-inference-config":"{\"temperature\":0,\"topP\":1,\"maxTokens\":200}"}}

Bedrock Guardrails 通过构建时间和会话属性提供支持

  • 通过在构建时使用控制台—提供 GuardrailsIdentifier 和. GuardrailsVersion 在 “其他型号配置” 部分中了解更多信息。

  • 通过使用会话属性 — 您还可以使用会话属性定义 Guardrails 配置:x-amz-lex:bedrock-guardrails-identifier和。x-amz-lex:bedrock-guardrails-version

有关使用基岩护栏的更多信息,请参阅护栏。