Tipos de nó para o fluxo - Amazon Bedrock

Tipos de nó para o fluxo

O Amazon Bedrock fornece os tipos de nó a seguir para criar um fluxo. Ao configurar um nó, forneça os seguintes campos:

  • Nome: insira um nome para o nó.

  • Tipo: no console, você arrasta e solta o tipo de nó a ser usado. Na API, use o campo type e a FlowNodeConfiguration correspondente no campo configuration.

  • Entradas: forneça as seguintes informações para cada entrada:

  • Saídas: fornece as seguintes informações para cada saída:

    • Nome: um nome para a saída. Alguns nós têm nomes ou tipos predefinidos que você deve usar. Para saber quais têm nomes predefinidos, consulte Tipos de nó lógico.

    • Tipo: o tipo de dados para a saída. Quando esse nó é alcançado em tempo de execução, o Amazon Bedrock valida se a saída do nó corresponde ao tipo de dados.

  • Configuração: no console, você define campos específicos do nó na parte superior do nó. Na API, use a FlowNodeConfiguration indicada e preencha os campos.

Cada tipo de nó é descrito abaixo, e a estrutura na API é fornecida. Expanda uma seção para saber mais sobre esse tipo de nó.

Nós para controlar a lógica do fluxo

Use os tipos de nó a seguir para controlar a lógica do fluxo.

Cada fluxo só contém um nó de entrada do fluxo e deve começar com ele. O nó de entrada do fluxo obtém o content da solicitação InvokeFlow, valida o tipo de dados e o envia ao nó subsequente.

Isto mostra a estrutura geral de um objeto FlowNode de entrada na API:

{ "name": "string", "type": "Input", "outputs": [ { "name": "document", "type": "String | Number | Boolean | Object | Array", } ], "configuration": { "input": CONTEXT-DEPENDENT } }

Um nó de saída do fluxo extrai os dados de entrada do nó anterior, com base na expressão definida, e os retorna. No console, a saída será a resposta retornada depois de escolher Executar na janela de teste. Na API, a saída é retornada no campo flowOutputEvent do content na resposta InvokeFlow. Um fluxo pode ter vários nós de saída de fluxo.

Um fluxo pode ter vários nós de saída do fluxo se houver várias ramificações no fluxo.

Isto mostra a estrutura geral de um objeto FlowNode de saída:

{ "name": "string", "type": "Output", "inputs": [ { "name": "document", "type": "String | Number | Boolean | Object | Array", "expression": "string" } ], "configuration": { "output": CONTEXT-DEPENDENT } }

Um nó de condição envia dados do nó anterior para nós diferentes, dependendo das condições definidas. Um nó de condição pode obter várias entradas.

Para obter um exemplo, consulte Criar um fluxo com um nó de condição.

Como definir um nó de condição
  1. Adicione quantas entradas você precisar para avaliar as condições que você pretende adicionar.

  2. Insira um nome para cada entrada, especifique o tipo esperado e escreva uma expressão para extrair a parte relevante de toda a entrada.

  3. Conecte cada entrada a uma saída relevante de um nó precedente.

  4. Adicione quantas condições você precisar.

  5. Para cada condição:

    1. Insira um nome para a condição.

    2. Use operadores lógicos e relacionais para definir uma condição que compara entradas com outras entradas ou com uma constante.

      nota

      As condições são avaliadas na ordem. Se mais de uma condição for atendida, a condição anterior terá precedência.

    3. Conecte cada condição ao nó subsequente para o qual você deseja enviar os dados, se essa condição for atendida.

Expressões de condição

Para definir uma condição, você se refere a uma entrada pelo nome e a compara com um valor usando qualquer um dos seguintes operadores relacionais:

Operador Significado Tipos de dados compatíveis Exemplo de uso Significado do exemplo
== Igual a (o tipo de dados também deve ser igual a) String, número, booliano A == B Se A for igual a B
!= Não é igual a String, número, booliano A != B Se A não for igual a B
> Maior que Número A > B Se A for maior que B
>= Maior ou igual a Número A >= B Se A for maior que ou igual a B
< Menor que Número A < B Se A for menor que B
<= Menor ou igual a Número A <= B Se A for menor que ou igual a B

Você pode comparar entradas com outras entradas ou com uma constante em uma expressão condicional. Por exemplo, se você tiver uma entrada numérica chamada profit e outra chamada expenses, profit > expenses ou profit <= 1000 é uma expressão válida.

Você pode usar os operadores lógicos a seguir a fim de combinar expressões para condições mais complexas. É recomendável usar parênteses para resolver ambiguidades no agrupamento de expressões:

Operador Significado Exemplo de uso Significado do exemplo
e Ambas as expressões são verdadeiras (A < B) e (C == 1) Se ambas as expressões forem verdadeiras:
  • A é menor que B

  • C é igual a 1

ou Pelo menos uma expressão é verdadeira (A != 2) ou (B > C) Se alguma das expressões for verdadeira:
  • A não é igual a B

  • B é maior que C

not A expressão não é verdadeira não (A > B) Se A não for maior que B (equivalente a A <= B)

Na API, você define o seguinte no campo definition ao enviar uma solicitação CreateFlow ou UpdateFlow:

  1. Um objeto FlowNode condicional na matriz nodes. O formato geral é o seguinte (observe que os nós de condição não têmoutputs):

    { "name": "string", "type": "Condition", "inputs": [ { "name": "string", "type": "String | Number | Boolean | Object | Array", "expression": "string" } ], "configuration": { "condition": { "conditions": [ { "name": "string", "expression": "string" }, ... ] } } }
  2. Para cada entrada no nó de condição, um objeto FlowConnection na matriz connections. Inclua um objeto FlowDataConnectionConfiguration no campo configuration do objeto FlowConnection. O formato geral do objeto FlowConnection é o seguinte:

    { "name": "string", "source": "string", "target": "string", "type": "Data", "configuration": { "data": { "sourceOutput": "string", "expression": "string" } } }
  3. Para cada condição (inclusive a condição padrão) no nó da condição, um objeto FlowConnection na matriz connections. Inclua um objeto FlowConditionalConnectionConfiguration no campo configuration do objeto FlowConnection. O formato geral do objeto FlowConnection é o seguinte:

    { "name": "string", "source": "string", "target": "string", "type": "Conditional", "configuration": { "conditional": { "condition": "string" } } }

    Use operadores relacionais e lógicos para definir o condition que conecta esse nó de condição source a um nó target subsequente. Para a condição padrão, especifique a condição como default.

Um nó iterador pega uma matriz e retorna iterativamente os itens como saída para o nó subsequente. As entradas para o nó iterador são processadas uma a uma e não paralelamente umas às outras. O nó de saída de fluxo retorna o resultado final de cada entrada em uma resposta diferente. Você também pode usar um nó coletor subsequente do nó iterador para coletar as respostas iteradas e retorná-las como uma matriz, além do tamanho da matriz.

Isto mostra a estrutura geral de um objeto FlowNode iterador:

{ "name": "string", "type": "Iterator", "inputs": [ { "name": "array", "type": "Array", "expression": "string" } ], "outputs": [ { "name": "arrayItem", "type": "String | Number | Boolean | Object | Array", }, { "name": "arraySize", "type": "Number" } ], "configuration": { "iterator": CONTEXT-DEPENDENT } }

Um nó coletor recebe uma entrada iterada, além do tamanho que a matriz terá, e a retorna como uma matriz. Você poderá usar um nó coletor subsequente de um nó iterador para coletar os itens iterados depois de enviá-los por meio de alguns nós.

Isto mostra a estrutura geral de um objeto FlowNode coletor:

{ "name": "string", "type": "Collector", "inputs": [ { "name": "arrayItem", "type": "String | Number | Boolean | Object | Array", "expression": "string" }, { "name": "arraySize", "type": "Number" } ], "outputs": [ { "name": "collectedArray", "type": "Array" }, ], "configuration": { "collector": CONTEXT-DEPENDENT } }

Um nó de loop DoWhile executa uma sequência de nós repetidamente enquanto uma condição especificada permanece verdadeira. O loop é executado pelo menos uma vez antes de avaliar a condição, tornando-o ideal para cenários em que é necessária realizar uma ação e depois verificar se ela deve ser repetida com base no resultado.

O nó do loop DoWhile obtém os dados de entrada e os transmite por meio do corpo do loop. Depois de cada iteração, a condição é avaliada para determinar se o loop deve continuar ou ser interrompido. O loop continuará enquanto a condição for avaliada como verdadeira ou valor maxIterations não for excedido.

Isto mostra a estrutura geral de um objeto FlowNode do loop DoWhile:

{ "name": "string", "type": "DoWhile", "inputs": [ { "name": "loopInput", "type": "String | Number | Boolean | Object | Array", "expression": "string" } ], "outputs": [ { "name": "loopOutput", "type": "String | Number | Boolean | Object | Array" }, { "name": "iterationCount", "type": "Number" } ], "configuration": { "doWhile": { "condition": "string", "maxIterations": "number" } } }

Na configuração:

  • condition: uma expressão booliana que determina se o loop deve continuar. Use os mesmos operadores relacionais e lógicos dos nós condicionais. A condição é avaliada após cada iteração.

  • maxIterations: o número máximo de iterações. O padrão é 10. Você deve especificar um número positivo. Esse parâmetro ajuda a evitar loops infinitos.

nota

O parâmetro maxIterations tem um valor padrão de 10 e só aceita números positivos. O loop é interrompido quando a condição se torna falsa ou o número máximo de iterações é atingido.

Nós para processar dados no fluxo

Use os seguintes tipos de nó para processar dados no fluxo:

Um nó de prompt define um prompt a ser usado no fluxo. Você pode usar um prompt do Gerenciamento de Prompts ou definir um em linha no nó. Para obter mais informações, consulte Construir e armazenar prompts reutilizáveis com o Gerenciamento de Prompts do Amazon Bedrock.

Para obter um exemplo, consulte Experimentar fluxos de exemplo.

As entradas para o nó de prompt são valores para preencher as variáveis. A saída é a resposta gerada pelo modelo.

Isto mostra a estrutura geral de um objeto FlowNode de prompt:

{ "name": "string", "type": "prompt", "inputs": [ { "name": "content", "type": "String | Number | Boolean | Object | Array", "expression": "string" }, ... ], "outputs": [ { "name": "modelCompletion", "type": "String" } ], "configuration": { "prompt": { "sourceConfiguration": PromptFlowNodeSourceConfiguration object (see below), "guardrailConfiguration": { "guardrailIdentifier": "string", "guardrailVersion": "string" } } } }

O objeto PromptFlowNodeSourceConfiguration depende se você usa um prompt do Gerenciamento de Prompts ou se o define em linha:

  • Se você usar um prompt do Gerenciamento de Prompts, o objeto deverá estar na seguinte estrutura geral:

    { "resource": { "promptArn": "string" } }
  • Se você definir um prompt em linha, siga as diretrizes para definir uma variante na guia API de Criar um prompt usando o Gerenciamento de Prompts (não há nenhum campo name nesse objeto, no entanto). O objeto usado deve estar na seguinte estrutura geral:

    { "inline": { "modelId": "string", "templateType": "TEXT", "templateConfiguration": { "text": { "text": "string", "inputVariables": [ { "name": "string" }, ... ] } }, "inferenceConfiguration": { "text": { "maxTokens": int, "stopSequences": ["string", ...], "temperature": float, "topP": float } }, "additionalModelRequestFields": { "key": "value", ... } } }

Para aplicar uma barreira de proteção das Barreiras de Proteção do Amazon Bedrock ao seu prompt ou à resposta gerada com base nele, inclua o campo guardrailConfiguration e especifique o ID ou ARN da barreira de proteção no campo guardrailIdentifier e a versão da barreira de proteção no campo guardrailVersion.

Um nó de agente permite que você envie um prompt a um agente, que orquestra entre FMs e recursos associados para identificar e realizar ações para um usuário final. Para obter mais informações, consulte Automatizar tarefas em sua aplicação usando agentes de IA.

Na configuração, especifique o nome do recurso da Amazon (ARN) do alias do agente a ser usado. As entradas no nó são o prompt do agente e qualquer prompt ou atributo de sessão associados. O nó retorna a resposta do agente como uma saída.

Um nó de agente pode comportar invocações de vários turnos, permitindo conversas interativas entre os usuários e o agente durante a execução do fluxo. Quando um nó de agente exige informações ou esclarecimentos adicionais, ele pode pausar a execução do fluxo e solicitar informações específicas do usuário. Depois que o usuário fornece as informações solicitadas, o nó do agente continua o respectivo processamento com a nova entrada. Isso continua até que o nó do agente tenha todas as informações necessárias para concluir a respectiva execução.

Isto mostra a estrutura geral de um objeto FlowNode de agente:

{ "name": "string", "type": "Agent", "inputs": [ { "name": "agentInputText" "type": "String | Number | Boolean | Object | Array", "expression": "string" }, { "name": "promptAttributes" "type": "Object", "expression": "string" }, { "name": "sessionAttributes" "type": "Object", "expression": "string" } ], "outputs": [ { "name": "agentResponse", "type": "String" } ], "configuration": { "agent": { "agentAliasArn": "string" } } }

Um nó da base de conhecimento permite que você envie uma consulta usando bases de conhecimento do Amazon Bedrock. Para obter mais informações, consulte Recuperar dados e gerar respostas de IA com as Bases de Conhecimento do Amazon Bedrock.

Na configuração, forneça, no mínimo, knowledgeBaseId. Como opção, você pode incluir os seguintes campos, dependendo do seu caso de uso:

  • modelId: inclua um ID de modelo para usar se você quiser gerar uma resposta com base nos resultados recuperados. Para apresentar os resultados recuperados como uma matriz, omita o ID do modelo.

  • guardrailConfiguration: inclua o ID ou ARN da barreira de proteção, definido nas Barreiras de Proteção do Amazon Bedrock no campo guardrailIdentifier, e a versão da barreira de proteção no campo guardrailVersion.

    nota

    As barreiras de proteção só podem ser aplicadas quando RetrieveAndGenerate estiver sendo usado em um nó da base de conhecimento.

A entrada no nó é a consulta à base de conhecimento. A saída é a resposta do modelo, como uma string, ou uma matriz dos resultados recuperados.

Isto mostra a estrutura geral de um objeto FlowNode da base de conhecimento:

{ "name": "string", "type": "KnowledgeBase", "inputs": [ { "name": "retrievalQuery", "type": "String", "expression": "string" } ], "outputs": [ { "name": "retrievalResults" | "outputText", "type": "Array | String" } ], "configuration": { "knowledgeBase": { "knowledgeBaseId": "string", "modelId": "string", "guardrailConfiguration": { "guardrailIdentifier": "string", "guardrailVersion": "string" } } } }

Um nó de armazenamento do S3 permite a você armazenar dados no fluxo em um bucket do Amazon S3. Na configuração, você especifica o bucket do S3 a ser usado para armazenamento de dados. As entradas no nó são o conteúdo a ser armazenado e a chave do objeto. O nó retorna o URI do local do S3 como a saída.

Isto mostra a estrutura geral de um objeto FlowNode de armazenamento S3:

{ "name": "string", "type": "Storage", "inputs": [ { "name": "content", "type": "String | Number | Boolean | Object | Array", "expression": "string" }, { "name": "objectKey", "type": "String", "expression": "string" } ], "outputs": [ { "name": "s3Uri", "type": "String" } ], "configuration": { "retrieval": { "serviceConfiguration": { "s3": { "bucketName": "string" } } } } }

Um nó de recuperação do S3 permite a você recuperar dados de um local do Amazon S3 para introduzi-los no fluxo. Na configuração, você especifica o bucket do S3 do qual recupera os dados. A entrada no nó é a chave do objeto. O nó retorna o conteúdo do local do S3 como a saída.

nota

Atualmente, os dados no local do S3 devem ser uma string codificada em UTF-8.

Isto mostra a estrutura geral de um objeto FlowNode de recuperação do S3:

{ "name": "string", "type": "Retrieval", "inputs": [ { "name": "objectKey", "type": "String", "expression": "string" } ], "outputs": [ { "name": "s3Content", "type": "String" } ], "configuration": { "retrieval": { "serviceConfiguration": { "s3": { "bucketName": "string" } } } } }

Um nó da função do Lambda permite a você chamar uma função do Lambda na qual pode definir o código para realizar a lógica de negócios. Quando você inclui um nó do Lambda em um fluxo, o Amazon Bedrock envia um evento de entrada à função do Lambda especificada.

Na configuração, especifique o nome do recurso da Amazon (ARN) da função do Lambda. Defina entradas a serem enviadas no evento de entrada do Lambda. Você pode escrever um código com base nessas entradas e definir o que a função retorna. A resposta da função é retornada na saída.

Isto mostra a estrutura geral de um objeto FlowNode da função do Lambda:

{ "name": "string", "type": "LambdaFunction", "inputs": [ { "name": "codeHookInput", "type": "String | Number | Boolean | Object | Array", "expression": "string" }, ... ], "outputs": [ { "name": "functionResponse", "type": "String | Number | Boolean | Object | Array" } ], "configuration": { "lambdaFunction": { "lambdaArn": "string" } } }

Evento de entrada do Lambda para um fluxo

O evento de entrada enviado para uma função do Lambda em um nó do Lambda tem o seguinte formato:

{ "messageVersion": "1.0", "flow": { "flowArn": "string", "flowAliasArn": "string" }, "node": { "name": "string", "inputs": [ { "name": "string", "type": "String | Number | Boolean | Object | Array", "expression": "string", "value": ... }, ... ] } }

Os campos de cada entrada correspondem aos campos que você especifica ao definir o nó do Lambda, e o valor do campo value é preenchido com toda a entrada do no nó depois de resolvido pela expressão. Por exemplo, se toda a entrada no nó fosse [1, 2, 3] e a expressão fosse $.data[1], o valor enviado no evento de entrada para a função do Lambda seria 2.

Para obter mais informações sobre eventos do Lambda, consulte Lambda concepts no AWS Lambda Developer Guide.

Resposta do Lambda a um fluxo

Ao escrever uma função do Lambda, você define a resposta exibida por ela. Essa resposta é exibida para o fluxo como a saída do nó do Lambda.

Um nó de código inline permite que você escreva e execute código diretamente em seu fluxo, possibilitando transformações de dados, lógica personalizada e integrações sem usar uma função externa do Lambda. Quando você inclui um nó de código inline em seu fluxo, o Amazon Bedrock executa o código em um ambiente isolado e gerenciado pela AWS que não é compartilhado com ninguém e não tem acesso à internet.

nota

O nó de código inline está em uma versão prévia do Amazon Bedrock e está sujeito a alterações.

Na configuração do nó, especifique o código a ser executado e a linguagem de programação (no momento, Python_3 é a única opção). Defina entradas que seu código possa acessar como variáveis. O resultado da última linha executada em seu código é exibido como a saída do nó.

Isto mostra a estrutura geral de um objeto FlowNode um código inline:

{ "name": "string", "type": "InlineCode", "inputs": [{ "name": "string", "type": "String | Number | Boolean | Object | Array", "expression": "string" }, ... ], "outputs": [{ "name": "response", "type": "String | Number | Boolean | Object | Array" }], "configuration": { "inlineCode": { "code": "string", "language": "Python_3" } } }

Considerações ao usar nós de código inline

Ao usar nós de código inline no seu fluxo, considere o seguinte:

Importante

Recomendamos que você teste seu código antes de adicioná-lo a um nó de código inline.

  • Não há suporte para nós de código inline na execução de fluxo assíncrono.

  • No momento, a única linguagem de programação compatível para nós de código inline é Python 3.12 (Python_3).

  • O código inline funciona como uma sessão interativa do Python. Somente o resultado da última linha executada é capturado e exibido como saída do nó.

  • A saída do console do Python (como a saída da função print) não é capturada.

  • As entradas para o nó de código inline estão disponíveis como variáveis do Python em seu código. Use o nome exato da entrada do nó para fazer referência a ele.

  • Configure os tipos de entrada e saída corretamente para evitar erros de runtime. Você pode configurar até cinco entradas de nó.

  • Você pode ter até cinco nós de código inline por fluxo.

  • Você pode ter no máximo 25 nós de código inline em execução por Conta da AWS.

  • Seu código não pode ultrapassar 5 MB.

Entradas de nó de código inline

As entradas que você define para um nó de código inline estão disponíveis como variáveis do Python em seu código. Por exemplo, se você definir uma entrada chamada userData, poderá acessá-la diretamente no seu código como userData.

O valor de cada entrada é preenchido com base na expressão que você define. Por exemplo, se a entrada para o nó for {"name": "John", "age": 30} e a expressão for $.name, o valor da variável de entrada será "John".

Saída de nó de código inline

O resultado da última linha executada em seu código é exibido como a saída do nó do código inline. Essa saída está disponível para os nós subsequentes do fluxo.

Por exemplo, o seguinte código exibe um dicionário como saída do nó:

# Process input data result = {"processed": True, "data": userData} # The last line's result is returned as the node output result
nota

O nó do Lex depende do serviço Amazon Lex, que pode armazenar e usar conteúdo do cliente para o desenvolvimento e a melhoria contínua de outros serviços da AWS. Como cliente da AWS, você pode recusar ter o conteúdo armazenado ou usado em melhorias no serviço. Para saber como implementar uma política de recusa do Amazon Lex, consulte AI services opt-out policies.

Um nó do Lex permite a você chamar um bot do Amazon Lex para processar um enunciado usando processamento de linguagem natural e identificar uma intenção, com base na definição do bot. Para obter mais informações, consulte o Amazon Lex Developer Guide.

Na configuração, especifique o nome do recurso da Amazon (ARN) do alias do bot e a localidade a serem usados. As entradas no nó são o enunciado e todos os atributos de solicitação ou os atributos de sessão que o acompanham. O nó retorna a intenção identificada como a saída.

nota

Atualmente, o nó do Lex não dá suporte a conversas multiturno. Um nó do Lex só pode processar um enunciado.

Isto mostra a estrutura geral de um objeto FlowNode do Lex:

{ "name": "string", "type": "Lex", "inputs": [ { "name": "inputText", "type": "String | Number | Boolean | Object | Array", "expression": "string" }, { "name": "requestAttributes", "type": "Object", "expression": "string" }, { "name": "sessionAttributes", "type": "Object", "expression": "string" } ], "outputs": [ { "name": "predictedIntent", "type": "String" } ], "configuration": { "lex": { "botAliasArn": "string", "localeId": "string" } } }

Tabelas de resumo para tipos de nó

As tabelas a seguir resumem as entradas e as saídas permitidas para cada tipo de nó. Observe o seguinte:

  • Se um nome estiver marcado como Qualquer, você poderá fornecer qualquer string como o nome. Do contrário, você deve usar o valor especificado na tabela.

  • Se um tipo estiver marcado como Qualquer, você poderá especificar qualquer um dos seguintes tipos de dados: String, Número, Booliano, Objeto, Matriz. Do contrário, você deve usar o tipo especificado na tabela.

  • É possível definir várias entradas para os nós Condição, Prompt, Função do Lambda e Código inline.

Tipos de nó lógico
Informações de entrada Informações de saída
Tipo de nó Entrada Nome Tipo Resultado Nome Tipo
Entrada N/D N/D N/D O campo content na solicitação InvokeFlow. document Qualquer um
Saída Dados a serem retornados na resposta InvokeFlow. document Qualquer um N/D N/D N/D
Condição

Dados a serem enviados com base em uma condição.

(várias entradas permitidas)

Qualquer um Qualquer um

Dados a serem enviados com base em uma condição.

(especifique condições para caminhos diferentes)

Qualquer um Qualquer um
Iterador Uma matriz para a qual você deseja aplicar iterativamente os nós a seguir a cada membro. array Array Cada item da matriz arrayItem Qualquer um
O tamanho da matriz de entrada arraySize Número
Coletor Uma iteração que você deseja consolidar em uma matriz. arrayItem Qualquer um Uma matriz com todas as saídas do nó anterior anexadas. collectedArray Array
O tamanho da matriz de saída arraySize Número
Loop DoWhile Dados a serem processados no loop. loopInput Qualquer um A saída final do loop após todas as iterações. loopOutput Qualquer um
O número de iterações realizadas. iterationCount Número
Tipos de nó de processamento de dados
Informações de entrada Informações de saída
Tipo de nó Entrada Nome Tipo Resultado Nome Tipo
Prompt

Um valor para preencher uma variável no prompt (várias entradas permitidas).

${variable-name} Qualquer um A resposta retornada pelo modelo. modelCompletion String
Armazenamento do S Dados a serem armazenados em um bucket do S3. content Qualquer um O URI do local do S3. s3Uri String
A chave de objeto a ser usada para o objeto do S3. objectKey String
Recuperação do S A chave de objeto para o objeto do S3. objectKey String Os dados a serem recuperados de um bucket do S3. s3Content Qualquer um
Agente O prompt a ser enviado ao agente. agentInputText String A resposta exibida do agente. agentResponse String
Qualquer atributo de prompt a ser enviado com o prompt. promptAttributes Objeto
Qualquer atributo de sessão a ser enviado com o prompt. sessionAttributes Objeto
Base de conhecimento A consulta a ser enviada para a base de conhecimento. retrievalQuery String Os resultados retornados ou a resposta gerada pela base de conhecimento. retrievalResults Array
Função do Lambda

Dados a serem enviados à função (várias entradas permitidas).

Qualquer um Qualquer um A resposta retornada pela função. functionResponse Qualquer um
Nó de código inline

Variáveis para o código executar (várias entradas permitidas).

Qualquer um Qualquer um A última linha executada no código. response Qualquer um
Lex O enunciado a ser enviado para o bot. inputText String A intenção que o bot prevê para o enunciado. predictedIntent String
Qualquer atributo de solicitação a ser enviado com o enunciado. requestAttributes Objeto
Qualquer atributo de sessão a ser enviado com o enunciado. sessionAttributes Objeto