Tipos de nodos para el flujo - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tipos de nodos para el flujo

Flujos de Amazon Bedrock proporciona los siguientes tipos de nodos para crear un flujo. Al configurar un nodo, debe proporcionar los siguientes campos:

  • Nombre: introduzca un nombre para el nodo.

  • Tipo: en la consola, arrastre y suelte el tipo de nodo que se va a utilizar. En la API, use el campo type y la FlowNodeConfiguration correspondiente en el campo configuration.

  • Entradas: proporciona la siguiente información para cada entrada:

  • Salidas: proporcione la siguiente información para cada salida:

    • Nombre: nombre para la salida. Algunos nodos tienen nombres o tipos predefinidos que debe usar. Para saber cuáles tienen nombres predefinidos, consulte Tipos de nodo de lógica.

    • Tipo: es el tipo de datos de la salida. Cuando se llega a este nodo en tiempo de ejecución, Amazon Bedrock valida que la salida del nodo coincida con el tipo de datos.

  • Configuración: en la consola, debe definir los campos específicos del nodo en la parte superior del nodo. En la API, use la FlowNodeConfiguration adecuada y rellene los campos.

A continuación, se describe cada tipo de nodo y se proporciona su estructura en la API. Expanda una sección para obtener más información sobre ese tipo de nodo.

Nodos para controlar la lógica del flujo

Utilice los siguientes tipos de nodo para controlar la lógica del flujo.

Cada flujo contiene solo un nodo de entrada de flujo y debe empezar por él. El nodo de entrada de flujo toma el content de la solicitud InvokeFlow, valida el tipo de datos y los envía al siguiente nodo.

A continuación, se muestra la estructura general de un objeto FlowNode de entrada en la API:

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

Un nodo de salida de flujo extrae los datos de entrada del nodo anterior, en función de la expresión definida, y los devuelve. En la consola, el resultado es la respuesta que se devuelve tras seleccionar Ejecutar en la ventana de prueba. En la API, el resultado se devuelve en el campo content de flowOutputEvent en la respuesta de InvokeFlow. Un flujo puede tener varios nodos de salida de flujo.

Un flujo puede tener varios nodos de salida de flujo si hay varias ramificaciones en el flujo.

A continuación, se muestra la estructura general de un objeto FlowNode de entrada:

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

Un nodo de condición envía datos desde el nodo anterior a diferentes nodos, en función de las condiciones definidas. Un nodo de condición puede recibir múltiples entradas.

Para ver un ejemplo, consulta Creación de un flujo con un nodo de condición.

Definición de un nodo de condición
  1. Agregue todas las entradas que necesite para evaluar las condiciones que tiene previsto añadir.

  2. Introduzca un nombre para cada entrada, especifique el tipo que desee y escriba una expresión para extraer la parte pertinente de la entrada completa.

  3. Conecte cada entrada a la salida correspondiente de un nodo ascendente.

  4. Agregue todas las condiciones que necesite.

  5. Para cada condición:

    1. Escriba un nombre para la condición.

    2. Utilice operadores lógicos y relacionales para definir una condición que compare las entradas con otras entradas o con una constante.

      nota

      Las condiciones se evalúan en orden. Si se cumple más de una condición, prevalece la anterior.

    3. Conecte cada condición al nodo descendente al que desea enviar los datos si se cumple esa condición.

Expresiones de condición

Para definir una condición, se hace referencia a una entrada por su nombre y se compara con un valor mediante cualquiera de los siguientes operadores relacionales:

Operador Significado Tipos de datos compatibles Ejemplo de uso Ejemplo de significado
== Igual a (el tipo de datos también debe ser igual) Cadena, número, booleano A == B Si A es igual a B
!= No igual que Cadena, número, booleano A != B Si A no es igual a B
> Mayor que Número A > B Si A es mayor que B
>= Mayor o igual que Número A >= B Si A es mayor o igual que B
< Menor que Número A < B Si A es menor que B
<= Menor o igual que Número A <= B Si A es menor o igual que B

Puede comparar las entradas con otras entradas o con una constante de una expresión condicional. Por ejemplo, si tiene una entrada numérica llamada profit y otra llamada expenses, ambas profit > expenses o profit <= 1000 son expresiones válidas.

Puede usar los siguientes operadores lógicos para combinar expresiones para condiciones más complejas. Se recomienda utilizar paréntesis para resolver las ambigüedades en la agrupación de expresiones:

Operador Significado Ejemplo de uso Ejemplo de significado
y Ambas expresiones son verdaderas (A < B) y (C == 1) Ambas expresiones son verdaderas:
  • A es menor que B

  • C es igual a 1

o Al menos una expresión es verdadera (A != 2) o (B > C) Si alguna de las expresiones es verdadera:
  • A no es igual a B

  • B es mayor que C

no La expresión no es verdadera no (A > B) Si A no es mayor que B (equivale a A <= B)

En la API, se define lo siguiente en el campo definition cuando se envía una solicitud CreateFlow o UpdateFlow

  1. Un objeto FlowNode de condición en la matriz nodes. El formato general es el siguiente (tenga en cuenta que los nodos de condición no tienen outputs):

    { "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 en el nodo de condición, un objeto FlowConnection en la matriz connections. Incluya un objeto FlowDataConnectionConfiguration en el campo configuration del objeto FlowConnection. El formato general del objeto FlowConnection es el siguiente:

    { "name": "string", "source": "string", "target": "string", "type": "Data", "configuration": { "data": { "sourceOutput": "string", "expression": "string" } } }
  3. Para cada condición (incluida la condición predeterminada) del nodo de condición, un objeto FlowConnection de la matriz connections. Incluya un objeto FlowConditionalConnectionConfiguration en el campo configuration del objeto FlowConnection. El formato general del objeto FlowConnection es el siguiente:

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

    Utilice operadores lógicos y relacionales para definir la condition que conecta este nodo de condición de source con un nodo descendente de target. Para la condición predeterminada, especifique la condición como default.

Un nodo iterador toma una matriz y devuelve los elementos que contiene de forma iterativa como salida al nodo descendente. Las entradas en el nodo iterador se procesan una por una y no en paralelo entre sí. El nodo de salida del flujo devuelve el resultado final de cada entrada en una respuesta diferente. También puede usar un nodo recopilador descendente del nodo iterador para recopilar las respuestas iteradas y devolverlas en forma de matriz, además del tamaño de la matriz.

A continuación, se muestra la estructura general de un 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 } }

Un nodo recopilador toma una entrada iterada, además del tamaño que tendrá la matriz, y la devuelve en forma de matriz. Puede utilizar un nodo recopilador descendente de un nodo iterador para recopilar los elementos iterados después de enviarlos a través de algunos nodos.

A continuación, se muestra la estructura general de un objeto FlowNode colector:

{ "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 } }

Un nodo de bucle DoWhile ejecuta una secuencia de nodos varias veces mientras se cumple una condición específica. El bucle se ejecuta al menos una vez antes de evaluar la condición, por lo que es ideal para situaciones en las que es necesario realizar una acción y, a continuación, comprobar si debe repetirse en función del resultado.

El nodo del bucle DoWhile toma los datos de entrada y los pasa a través del cuerpo del bucle. Después de cada iteración, se evalúa la condición para determinar si se debe continuar con el bucle o salir. El bucle continúa mientras la condición se evalúe como verdadera o no se supere el valor de maxIterations.

A continuación, se muestra la estructura general de un bucle DoWhile en un objeto FlowNode:

{ "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" } } }

En la configuración:

  • condition: una expresión booleana que determina si se debe continuar con el bucle. Utilice los mismos operadores lógicos y relacionales como nodos de condición. La condición se evalúa después de cada iteración.

  • maxIterations: el número máximo de iteraciones. El valor predeterminado es 10. Debe especificar un número positivo. Este parámetro le ayuda a evitar bucles infinitos.

nota

El parámetro maxIterations tiene un valor predeterminado de 10 y solo acepta números positivos. El bucle se termina cuando la condición pasa a ser falsa o se alcanza el número máximo de iteraciones.

Nodos para gestionar los datos en el flujo

Utilice los siguientes tipos de nodos para gestionar los datos del flujo:

Un nodo de petición define una petición que se va a utilizar en el flujo. Puede utilizar una petición de la Administración de peticiones o definir una en línea en el nodo. Para obtener más información, consulte Creación y almacenamiento de peticiones reutilizables con la administración de peticiones en Amazon Bedrock.

Para ver un ejemplo, consulta Prueba de flujos de ejemplo.

Las entradas en el nodo de petición son valores para rellenar las variables. La salida es la respuesta generada por el modelo.

A continuación, se muestra la estructura general de un objeto FlowNode de petición:

{ "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" } } } }

El objeto PromptFlowNodeSourceConfiguration depende de si utiliza una petición de la Administración de peticiones o si la define en línea:

  • Si utiliza una petición de la Administración de peticiones, el objeto debe tener la siguiente estructura general:

    { "resource": { "promptArn": "string" } }
  • Si define una petición en línea, siga las instrucciones para definir una variante en la pestaña API de Creación de una petición con la administración de peticiones (sin embargo, tenga en cuenta que este objeto no incluye ningún campo name). El objeto que use debe tener la siguiente estructura general:

    { "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 una barrera de protección de Barreras de protección para Amazon Bedrock a su petición o a la respuesta generada a partir de ella, incluya el campo guardrailConfiguration y especifique el ID o el ARN de la barrera de protección en el campo guardrailIdentifier y la versión de la barrera de protección en el campo guardrailVersion.

Un nodo de agente permite enviar una petición a un agente, que se orquesta entre los FM y los recursos asociados para identificar y llevar a cabo acciones para un usuario final. Para obtener más información, consulte Automatización de las tareas en la aplicación mediante agentes de IA.

En la configuración, especifique el nombre de recurso de Amazon (ARN) del alias del agente que se usará. Las entradas del nodo son la petición del agente y cualquier petición o atributo de sesión asociados. El nodo devuelve la respuesta del agente como salida.

Un nodo de agente puede admitir invocaciones de varios turnos, lo que permite mantener conversaciones interactivas entre los usuarios y el agente durante la ejecución del flujo. Cuando un nodo de agente requiere aclaraciones o información adicional, puede pausar la ejecución del flujo y solicitar al usuario información específica. Una vez que el usuario proporciona la información solicitada, el nodo de agente continúa procesando la nueva entrada. Este proceso continúa hasta que el nodo de agente tenga toda la información necesaria para completar su ejecución

A continuación, se muestra la estructura general de un 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" } } }

Un nodo de base de conocimiento permite enviar una consulta a una base de conocimiento de Bases de conocimiento de Amazon Bedrock. Para obtener más información, consulte Recuperación de datos y generación de respuestas de IA con Bases de conocimiento de Amazon Bedrock.

En la configuración, proporcione el knowledgeBaseId como mínimo. Si lo desea, puede incluir los siguientes campos en función de su caso de uso:

  • modelId: incluya un ID de modelo para utilizarlo si desea generar una respuesta basada en los resultados obtenidos. Para devolver los resultados obtenidos en forma de matriz, omita el ID del modelo.

  • guardrailConfiguration: incluya el ID o el ARN de la barrera de protección, definido en Barreras de protección para Amazon Bedrock en el campo guardrailIdentifier y la versión de la barrera de protección en el campo guardrailVersion.

    nota

    Las barreras de protección solo se pueden aplicar cuando se utiliza RetrieveAndGenerate en un nodo de base de conocimiento.

La entrada en el nodo es la consulta a la base de conocimientos. El resultado es la respuesta del modelo, que puede ser una cadena o una matriz de los resultados obtenidos.

A continuación, se muestra la estructura general de un objeto FlowNode de la base de conocimientos:

{ "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" } } } }

Un nodo de almacenamiento de S3 le permite almacenar datos del flujo en un bucket de Amazon S3. En la configuración, debe especificar el bucket de S3 que se utilizará para el almacenamiento de datos. Las entradas en el nodo son el contenido que se va a almacenar y la clave del objeto. El nodo devuelve el URI de la ubicación de S3 como salida.

A continuación, se muestra la estructura general de un objeto FlowNode de almacenamiento de 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" } } } } }

Un nodo de recuperación de S3 le permite recuperar datos de una ubicación de Amazon S3 para introducirlos en el flujo. En la configuración, debe especificar el bucket de S3 desde el que se van a recuperar los datos. La entrada en el nodo es la clave del objeto. El nodo devuelve el contenido de la ubicación de S3 como salida.

nota

En la actualidad, los datos de la ubicación de S3 deben estar codificados en UTF-8.

A continuación, se muestra la estructura general de un objeto FlowNode de recuperación de S3:

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

Un nodo de función de Lambda le permite llamar a una función de Lambda en la que puede definir código para llevar a cabo la lógica empresarial. Cuando incluye un nodo de Lambda en un flujo, Amazon Bedrock envía un evento de entrada a la función de Lambda que especifique.

En la configuración, especifique el nombre de recurso de Amazon (ARN) de la función de Lambda. Defina las entradas a enviar en el evento de entrada de Lambda. Puede escribir código en función de estas entradas y definir lo que devuelve la función. La respuesta de la función se devuelve como en la salida.

A continuación, se muestra la estructura general de un objeto FlowNode de una función de 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 de Lambda para un flujo

El evento de entrada enviado a una función de Lambda en un nodo de Lambda tiene el siguiente formato:

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

Los campos de cada entrada coinciden con los campos que especifique al definir el nodo de Lambda, mientras que el valor del campo value se rellena con la entrada completa del nodo una vez resuelto por la expresión. Por ejemplo, si la entrada completa del nodo es [1, 2, 3] y la expresión es $.data[1], el valor enviado en el evento de entrada a la función de Lambda sería 2.

Para obtener más información sobre los eventos en Lambda, consulte los conceptos de Lambda en la Guía para desarrolladores de AWS Lambda.

Respuesta de Lambda para un flujo

Cuando se escribe una función de Lambda, usted define la respuesta que va a devolver. Esta respuesta se devuelve al flujo como la salida del nodo de Lambda.

Un nodo de código insertado le permite escribir y ejecutar código directamente en el flujo, lo que permite transformaciones de datos, lógica personalizada e integraciones sin utilizar una función de Lambda externa. Cuando incluye un nodo de código insertado en el flujo, Amazon Bedrock ejecuta el código en un entorno administrado de AWS aislado que no se comparte con nadie y no tiene acceso a Internet.

nota

La característica de nodo de código insertado está en versión preliminar para Amazon Bedrock y está sujeta a cambios.

En la configuración del nodo, especifique el código que se va a ejecutar junto con el lenguaje de programación (actualmente, Python_3 es la única opción). Defina las entradas a las que puede acceder el código como variables. El resultado de la última línea ejecutada en el código se devuelve como la salida del nodo.

A continuación, se muestra la estructura general de un objeto FlowNode de código insertado:

{ "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" } } }

Consideraciones sobre el uso de nodos de código insertado

Cuando utilice nodos de código insertado en su flujo, tenga en cuenta lo siguiente:

importante

Le recomendamos que pruebe el código antes de añadirlo a un nodo de código insertado.

  • Los nodos de código insertado no se admiten en la ejecución de flujos asíncronos.

  • Actualmente, el único lenguaje de programación compatible con los nodos de código insertado es Python 3.12 (Python_3).

  • El código insertado actúa como una sesión interactiva de Python. Solo se captura el resultado de la última línea ejecutada y se devuelve como salida del nodo.

  • La salida de la consola de Python (como la salida de la función print) no se captura.

  • Las entradas para el nodo de código insertado están disponibles como variables de Python en el código. Use el nombre exacto de la entrada del nodo para hacer referencia a ellos.

  • Configure los tipos de entrada y salida correctamente para evitar errores en tiempo de ejecución. Puede configurar hasta cinco entradas de nodo.

  • Puede tener hasta cinco nodos de código insertados por flujo.

  • Puede tener un máximo de 25 nodos de código insertados en ejecución por Cuenta de AWS.

  • El código no puede superar los 5 MB.

Entradas de nodo de código insertado

Las entradas que define para un nodo de código insertado están disponibles como variables de Python en el código. Por ejemplo, si define una entrada llamada userData, puede acceder a ella directamente en su código como userData.

El valor de cada entrada se rellena en función de la expresión que defina. Por ejemplo, si la entrada al nodo fuera {"name": "John", "age": 30} y la expresión fuera $.name, el valor de la variable de entrada sería "John".

Salida del nodo de código insertado

El resultado de la última línea ejecutada en el código se devuelve como la salida del nodo de código insertado. Esta salida está disponible para los nodos siguientes del flujo.

Por ejemplo, el código siguiente devuelve un diccionario como la salida del nodo:

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

El nodo de Lex se basa en el servicio Amazon Lex, que puede almacenar y utilizar el contenido del cliente para el desarrollo y la mejora continua de otros servicios de AWS. Como cliente AWS, puede optar por no tener su contenido almacenado o utilizado para mejorar el servicio. Para obtener más información sobre cómo implementar una política de exclusión para Amazon Lex, consulte Políticas de exclusión de servicios de IA.

Un nodo de Lex le permite llamar a un bot de Amazon Lex para procesar un enunciado mediante el procesamiento del lenguaje natural e identificar una intención, en función de la definición del bot. Para obtener más información, consulte la Guía para desarrolladores de Amazon Lex.

En la configuración, especifique el nombre de recurso de Amazon (ARN) del alias del bot y la configuración regional que se usarán. Las entradas en el nodo son el enunciado y cualquier atributo de solicitud o atributo de sesión que lo acompañe. El nodo devuelve la intención identificada como salida.

nota

En la actualidad, el nodo de Lex no admite conversaciones de varios turnos. Un nodo de Lex solo puede procesar un enunciado.

A continuación, se muestra la estructura general de un objeto FlowNode de 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" } } }

Tablas de resumen de los tipos de nodo

En las siguientes tablas se resumen las entradas y salidas permitidas para cada tipo de nodo. Tenga en cuenta lo siguiente:

  • Si un nombre está marcado como Cualquiera, puede proporcionar cualquier cadena como nombre. De lo contrario, tendrá que usar el valor especificado en la tabla.

  • Si un tipo está marcado como Cualquiera, puede especificar cualquiera de los siguientes tipos de dato: cadena, número, booleano, objeto o matriz. De lo contrario, tendrá que usar el tipo especificado en la tabla.

  • Puede definir varias entradas para los nodos de condición, petición, función de Lambda y código insertado.

Tipos de nodo de lógica
Información de entrada Información de salida
Tipo de nodo Input Nombre Tipo Output Nombre Tipo
Input N/A N/A N/A El campo content en la solicitud InvokeFlow. document Cualquiera
Output Datos que se devolverán en la respuesta de InvokeFlow. document Cualquiera N/A N/A N/A
Condición

Datos que se enviarán en función de una condición.

(se permiten múltiples entradas)

Cualquiera Cualquiera

Datos que se enviarán en función de una condición.

(especifique las condiciones para las diferentes rutas)

Cualquiera Cualquiera
Iterador Matriz a la que desee aplicar los siguientes nodos de forma iterativa a cada miembro. array Matriz Cada elemento de la matriz arrayItem Cualquiera
Tamaño de la matriz de entrada arraySize Número
Colector Iteración que desea consolidar en una matriz arrayItem Cualquiera Matriz con todas las salidas del nodo anterior anexadas collectedArray Matriz
Tamaño de la matriz de salida arraySize Número
Bucle DoWhile Los datos que se van a procesar en el bucle. loopInput Cualquiera La salida final del bucle después de todas las iteraciones. loopOutput Cualquiera
El número de iteraciones realizadas. iterationCount Número
Tipos de nodo de procesamiento de datos
Información de entrada Información de salida
Tipo de nodo Input Nombre Tipo Output Nombre Tipo
Petición

Un valor para rellenar una variable en la petición (se permiten varias entradas).

${variable-name} Cualquiera Respuesta devuelta por el modelo modelCompletion Cadena
Almacenamiento de S Datos para almacenar en un bucket de S3 content Cualquiera URI de la ubicación de S3 s3Uri Cadena
Es la clave de objeto que se va a usar para el objeto S3. objectKey Cadena
Recuperación de S La clave de objeto del objeto de S3. objectKey Cadena Son los datos que se deben recuperar de un bucket de S3. s3Content Cualquiera
Agente Es la petición del usuario que se envía al agente. agentInputText Cadena Es la respuesta devuelta por el agente. agentResponse Cadena
Cualquier atributo de petición para enviar junto con la petición. promptAttributes Objeto
Cualquier atributo de sesión para enviar junto con la petición. sessionAttributes Objeto
Base de conocimientos Es la consulta que se debe enviar a la base de conocimientos. retrievalQuery Cadena Son los resultados devueltos o la respuesta generada de la base de conocimientos. retrievalResults Matriz
Función de Lambda

Datos que se van a enviar a la función (se permiten varias entradas)

Cualquiera Cualquiera Es la respuesta devuelta por la función. functionResponse Cualquiera
Nodo de código insertado

Variables del código que se va a ejecutar (se permiten varias entradas).

Cualquiera Cualquiera La última línea ejecutada del código. response Cualquiera
Lex Es el enunciado que se va a enviar al bot. inputText Cadena Es la intención que el bot predice para el enunciado. predictedIntent Cadena
Cualquier atributo de solicitud que se va a enviar junto con el enunciado. requestAttributes Objeto
Cualquier atributo de sesión que se va a enviar junto con el enunciado. sessionAttributes Objeto