Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Migração de uma função do Lambda do Amazon Lex V1 para o Amazon Lex V2

Modo de foco
Migração de uma função do Lambda do Amazon Lex V1 para o Amazon Lex V2 - Amazon Lex V1

Aviso de fim do suporte: em 15 de setembro de 2025, o suporte para o Amazon Lex V1 AWS será interrompido. Depois de 15 de setembro de 2025, você não poderá mais acessar o console do Amazon Lex V1 ou os recursos do Amazon Lex V1. Se você estiver usando o Amazon Lex V2, consulte o guia do Amazon Lex V2 em vez disso.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Aviso de fim do suporte: em 15 de setembro de 2025, o suporte para o Amazon Lex V1 AWS será interrompido. Depois de 15 de setembro de 2025, você não poderá mais acessar o console do Amazon Lex V1 ou os recursos do Amazon Lex V1. Se você estiver usando o Amazon Lex V2, consulte o guia do Amazon Lex V2 em vez disso.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

O Amazon Lex V2 permite somente uma função do Lambda para cada linguagem em um bot. A função do Lambda e suas configurações são definidas para o alias de bot que você usa no runtime.

A função do Lambda é invocada para todas as intenções nessa linguagem se os hooks de diálogo e código de atendimento estiverem habilitados para a intenção.

As funções do Lambda do Amazon Lex V2 têm um formato de mensagem de entrada e saída diferente do Amazon Lex V1. Essas são as diferenças no formato de entrada da função do Lambda.

  • O Amazon Lex V2 substitui as estruturas currentIntent e alternativeIntents pela estrutura interpretations. Cada interpretação contém uma intenção, a pontuação de confiança da NLU para a intenção e uma análise de sentimento opcional.

  • O Amazon Lex V2 move o activeContexts, sessionAttributes no Amazon Lex V1 para a estrutura unificada sessionState. Essa estrutura fornece informações sobre o estado atual da conversa, incluindo o ID da solicitação de origem.

  • O Amazon Lex V2 não retorna o recentIntentSummaryView. Em vez disso, use as informações na estrutura sessionState.

  • A entrada do Amazon Lex V2 fornece o botId e o localeId no atributo bot.

  • A estrutura de entrada contém um atributo inputMode que fornece informações sobre o tipo de entrada: texto, fala ou DTMF.

Essas são as diferenças no formato de entrada da função do Lambda.

  • As estruturas activeContexts e sessionAttributes no Amazon Lex V1 são substituídas pela estrutura sessionState no Amazon Lex V2.

  • A recentIntentSummaryView não é incluída na saída:

  • A estrutura dialogAction do Amazon Lex V1 é dividida em duas estruturas, dialogAction que faz parte da estrutura sessionState, e messages que é necessária quando dialogAction.type é ElicitIntent. O Amazon Lex escolhe mensagens dessa estrutura para mostrar ao usuário.

Quando você cria um bot com o Amazon Lex V2 APIs, há somente uma função Lambda por alias de bot por linguagem, em vez de uma função Lambda para cada intenção. Se quiser continuar usando funções separadas, você pode criar uma função de roteamento que ativa uma função separada para cada intenção. A seguir há uma função de roteamento que você pode usar ou modificar para seu aplicativo.

import os import json import boto3 # reuse client connection as global client = boto3.client('lambda') def router(event): intent_name = event['sessionState']['intent']['name'] fn_name = os.environ.get(intent_name) print(f"Intent: {intent_name} -> Lambda: {fn_name}") if (fn_name): # invoke lambda and return result invoke_response = client.invoke(FunctionName=fn_name, Payload = json.dumps(event)) print(invoke_response) payload = json.load(invoke_response['Payload']) return payload raise Exception('No environment variable for intent: ' + intent_name) def lambda_handler(event, context): print(event) response = router(event) return response

Lista de campos atualizados

As tabelas a seguir fornecem informações detalhadas sobre os campos atualizados na solicitação e na resposta do Amazon Lex V2. Você pode usar essas tabelas para mapear campos entre as versões.

Solicitação

Os campos a seguir foram atualizados no formato de solicitação da função do Lambda.

Contextos ativos

A estrutura activeContexts agora faz parte da estrutura sessionState.

Estrutura V1 Estrutura V2

activeContexts

sessionState.activeContexts

Contextos ativos [*]. timeToLive

SessionState.ActiveContexts [*]. timeToLive

Contextos ativos [*]. timeToLive. timeToLiveInSeconds

SessionState.ActiveContexts [*]. timeToLive. timeToLiveInSeconds

Contextos ativos [*]. timeToLive. turnsToLive

SessionState.ActiveContexts [*]. timeToLive. turnsToLive

activeContexts[*].name

sessionState.activeContexts[*].name

activeContexts[*].parameters

sessionState.activeContexts[*].contextAttributes

Intenções alternativas

A lista de interpretações do índice 1 ao N contém a lista de intenções alternativas previstas pelo Amazon Lex V2, junto com suas pontuações de confiança. O recentIntentSummaryView é removido da estrutura de solicitações no Amazon Lex V2. Para ver os detalhes do recentIntentSummaryView, use a operação GetSession.

Estrutura V1 Estrutura V2

alternativeIntents

interpretations[1:*]

recentIntentSummaryExibir

N/D

Bot

No Amazon Lex V2, bots e aliases têm identificadores. O ID do bot faz parte da entrada do codehook. O ID do alias está incluído, mas não o nome do alias. O Amazon Lex V2 oferece suporte a várias localidades para o mesmo bot, portanto, a ID de localidade é incluída.

Estrutura V1 Estrutura V2

bot

bot

bot.name

bot.name

N/D

bot.id

bot.alias

N/D

N/D

bot.aliasId

bot.version

bot.version

N/D

bot.localeId

Intenção atual

A sessionState.intent estrutura contém os detalhes da intenção ativa. O Amazon Lex V2 também retorna uma lista de todas as intenções, incluindo intenções alternativas, na estrutura interpretations. O primeiro elemento na lista de interpretações é sempre o mesmo que sessionState.intent.

Estrutura V1 Estrutura V2

currentIntent

sessionState.intent OU interpretations[0].intent

currentIntent.name

sessionState.intent.name OU interpretations[0].intent.name

CurrentIntent. nluConfidenceScore

interpretations[0].nluConfidence.score

Ação do diálogo

O campo confirmationStatus agora faz parte da estrutura sessionState.

Estrutura V1 Estrutura V2

currentIntent.confirmationStatus

sessionState.intent.confirmationState OU interpretations[0].intent.confirmationState

N/D

sessionState.intent.state OU interpretations[*].intent.state

Amazon Kendra

O campo kendraResponse agora faz parte das estruturas sessionState e interpretations.

Estrutura V1 Estrutura V2

kendraResponse

sessionState.intent.kendraResponse OU interpretations[0].intent.kendraResponse

Sentimento

A estrutura sentimentResponse é movida para a nova estrutura interpretations.

Estrutura V1 Estrutura V2

sentimentResponse

interpretations[0].sentimentResponse

sentimentResponse.sentimentLabel

interpretations[0].sentimentResponse.sentiment

sentimentResponse.sentimentScore

interpretations[0].sentimentResponse.sentimentScore

Slots

O Amazon Lex V2 fornece um único objeto slots dentro da estrutura sessionState.intent que contém os valores resolvidos, o valor interpretado e o valor original do que o usuário disse. O Amazon Lex V2 também oferece suporte a slots de vários valores definindo o slotShape como List e definindo a lista values. Os slots de valor único são compatíveis pelo campo value, presume-se que sua forma seja Scalar.

Estrutura V1 Estrutura V2

currentIntent.slots

sessionState.intent.slots OU interpretations[0].intent.slots

currentIntent.slots[*].value

sessionState.intent.slots[*].value.interpretedValue OU interpretations[0].intent.slots[*].value.interpretedValue

N/D

sessionState.intent.slots[*].value.shape OU interpretations[0].intent.slots[*].shape

N/D

sessionState.intent.slots[*].values OU interpretations[0].intent.slots[*].values

currentIntent.slotDetails

sessionState.intent.slots OU interpretations[0].intent.slots

currentIntent.slotDetails[*].resolutions

sessionState.intent.slots[*].resolvedValues OU interpretations[0].intent.slots[*].resolvedValues

currentIntent.slotDetails[*].originalValue

sessionState.intent.slots[*].originalValue OU interpretations[0].intent.slots[*].originalValue

Outros

O campo sessionId do Amazon Lex V2 é igual ao campo userId no Amazon Lex V1. O Amazon Lex V2 também envia o nome inputMode do chamador: texto, DTMF ou fala.

Estrutura V1 Estrutura V2

userId

sessionId

inputTranscript

inputTranscript

invocationSource

invocationSource

outputDialogMode

responseContentType

messageVersion

messageVersion

sessionAttributes

sessionState.sessionAttributes

requestAttributes

requestAttributes

N/D

inputMode

N/D

originatingRequestId

Resposta

Os campos a seguir foram atualizados no formato de solicitação da função do Lambda.

Contextos ativos

A estrutura activeContexts é movida para a estrutura sessionState.

Estrutura V1 Estrutura V2

activeContexts

sessionState.activeContexts

Contextos ativos [*]. timeToLive

SessionState.ActiveContexts [*]. timeToLive

Contextos ativos [*]. timeToLive. timeToLiveInSeconds

SessionState.ActiveContexts [*]. timeToLive. timeToLiveInSeconds

Contextos ativos [*]. timeToLive. turnsToLive

SessionState.ActiveContexts [*]. timeToLive. turnsToLive

activeContexts[*].name

sessionState.activeContexts[*].name

activeContexts[*].parameters

sessionState.activeContexts[*].contextAttributes

Ação do diálogo

A estrutura dialogAction é movida para a estrutura sessionState. Agora você pode especificar múltiplas mensagens em uma ação de diálogo, e a estrutura genericAttachments agora é a estrutura imageResponseCard.

Estrutura V1 Estrutura V2

dialogAction

sessionState.dialogAction

dialogAction.type

sessionState.dialogAction.type

DialogAction. slotToElicit

SessionState.Intent.DialogAction. slotToElicit

dialogAction.type.fulfillmentState

sessionState.intent.state

dialogAction.message

messages

dialogAction.message.contentType

messages[*].contentType

dialogAction.message.content

messages[*].content

dialogAction.responseCard

mensagens [*]. imageResponseCard

dialogAction.responseCard.version

N/D

dialogAction.responseCard.contentType

messages[*].contentType

dialogAction.responseCard.genericAttachments

N/D

dialogAction.responseCard.genericAttachments[*].title

mensagens [*]. imageResponseCard.título

dialogAction.responseCard.genericAttachments[*].subTitle

mensagens [*]. imageResponseCard.subtítulo

dialogAction.responseCard.genericAttachments[*].imageUrl

mensagens [*]. imageResponseCard.URL da imagem

dialogAction.responseCard.genericAttachments[*].buttons

mensagens [*]. imageResponseCard.botões

dialogAction.responseCard.genericAttachments[*].buttons[*].value

mensagens [*]. imageResponseCard.botões [*] .valor

dialogAction.responseCard.genericAttachments[*].buttons[*].text

mensagens [*]. imageResponseCard.botões [*] .texto

DialogAction. kendraQueryRequestCarga útil

DialogAction. kendraQueryRequestCarga útil

DialogAction. kendraQueryFilterCadeia

DialogAction. kendraQueryFilterCadeia

Intenções e slots

Os campos de intenção e slots que faziam parte da estrutura dialogAction agora fazem parte da estrutura sessionState.

Estrutura V1 Estrutura V2

dialogAction.intentName

sessionState.intent.name

dialogAction.slots

sessionState.intent.slots

dialogAction.slots[*].key

sessionState.intent.slots[*].key

dialogAction.slots[*].value

sessionState.intent.slots[*].value.interpretedValue

N/D

sessionState.intent.slots[*].value.shape

N/D

sessionState.intent.slots[*].values

Outros

A estrutura sessionAttributes agora faz parte da estrutura sessionState. A estrutura recentIntentSummaryReview não existe mais.

Estrutura V1 Estrutura V2

sessionAttributes

sessionState.sessionAttributes

recentIntentSummaryExibir

N/D

Nesta página

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.