Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Tipi di nodo per il flusso
Amazon Bedrock Flows offre i seguenti tipi di nodo per creare il flusso. Quando si configura un nodo, è necessario compilare i campi riportati di seguito:
-
Nome: inserisci un nome per il nodo.
-
Tipo: nella console, trascina il tipo di nodo da utilizzare. Nell’API, utilizzare il campo
typee la FlowNodeConfiguration corrispondente nel campoconfiguration. -
Input: fornisci le seguenti informazioni per ciascun input:
-
Nome: un nome per l’input. Alcuni nodi hanno nomi o tipi predefiniti che è necessario utilizzare. Per sapere quali hanno nomi predefiniti, consulta Tipi di nodi logici.
-
Espressione: consente di definire la parte dell’intero input da utilizzare come input individuale. Per ulteriori informazioni, consulta Usare le espressioni per definire gli input estraendo la parte pertinente di un intero input in Amazon Bedrock Flows.
-
Tipo: il tipo di dati per l’input. Quando questo nodo viene raggiunto durante il runtime, Amazon Bedrock applica l’espressione all’intero input e verifica che il risultato corrisponda al tipo di dati.
-
-
Output: fornisce le seguenti informazioni per ciascun output:
-
Nome: il nome dell’output. Alcuni nodi hanno nomi o tipi predefiniti che è necessario utilizzare. Per sapere quali hanno nomi predefiniti, consulta Tipi di nodi logici.
-
Tipo: il tipo di dati per l’output. Quando questo nodo viene raggiunto durante il runtime, Amazon Bedrock verifica che l’output del nodo corrisponda al tipo di dati.
-
-
Configurazione: nella console puoi definire i campi specifici del nodo all’inizio del nodo stesso. Nell’API, utilizzare la configurazione FlowNodeConfiguration appropriata e compilare i relativi campi.
Ogni tipo di nodo è descritto di seguito ed è fornita la relativa struttura nell’API. Espandi una sezione per saperne di più sul tipo di nodo in questione.
Nodi per il controllo della logica di flusso
Utilizzare i seguenti tipi di nodo per controllare la logica di flusso.
Ogni flusso contiene un solo nodo di input del flusso e deve iniziare da esso. Il nodo di input del flusso ottiene il content dalla richiesta InvokeFlow, convalida il tipo di dati e lo invia al nodo successivo.
Di seguito viene illustrata la struttura generale di un oggetto FlowNode di input nell’API:
{ "name": "string", "type": "Input", "outputs": [ { "name": "document", "type": "String | Number | Boolean | Object | Array", } ], "configuration": { "input": CONTEXT-DEPENDENT } }
Un nodo di output del flusso estrae i dati di input dal nodo precedente, in base all’espressione definita, e li restituisce. Nella console, l’output è la risposta restituita dopo aver scelto Esegui nella finestra di test. Nell’API, l’output viene restituito nel campo content di flowOutputEvent della risposta InvokeFlow. Un flusso può avere più nodi di output.
Un flusso può avere più nodi di output del flusso, se vi sono più rami nel flusso.
Di seguito viene illustrata la struttura generale di un oggetto FlowNode di output:
{ "name": "string", "type": "Output", "inputs": [ { "name": "document", "type": "String | Number | Boolean | Object | Array", "expression": "string" } ], "configuration": { "output": CONTEXT-DEPENDENT } }
Un nodo di condizione invia i dati dal nodo precedente a nodi diversi, in base alle condizioni definite. Un nodo di condizione può ricevere più input.
Per vedere un esempio, consultare Creare un flusso con un nodo di condizione.
Come definire un nodo di condizione
-
Aggiungi tutti gli input necessari per valutare le condizioni che intendi specificare.
-
Inserisci un nome per ogni input, specifica il tipo previsto e scrivi un’espressione per estrarre la parte rilevante dell’intero input.
-
Collega ogni input all’output pertinente di un nodo a monte.
-
Aggiungi tutte le condizioni necessarie.
-
Per ogni condizione:
-
Inserisci un nome per la condizione.
-
Utilizza operatori relazionali e logici per definire una condizione che confronti gli input tra loro o con una costante.
Nota
Le condizioni vengono valutate nell’ordine specificato. Se viene soddisfatta più di una condizione, ha precedenza quella precedente.
-
Collega ciascuna condizione al nodo a valle a cui inviare i dati quando la condizione è soddisfatta.
-
Espressioni di condizione
Per definire una condizione, fai riferimento a un input tramite il relativo nome e confrontalo con un valore utilizzando uno dei seguenti operatori relazionali.
| Operatore | Significato | Tipi di dati supportati | Esempio di utilizzo | Esempio di significato |
|---|---|---|---|---|
| == | Uguale a (anche il tipo di dati deve corrispondere) | String, Number, Boolean | A == B | Se A è uguale a B |
| != | Non uguale a | String, Number, Boolean | A != B | Se A non è uguale a B |
| > | Maggiore di | Number | A > B | Se A è maggiore di o uguale a B |
| >= | Maggiore o uguale a | Number | A >= B | Se A è maggiore di o uguale a B |
| < | Minore di | Number | A < B | Se A è minore di B |
| <= | Minore o uguale a | Number | A <= B | Se A è minore o uguale a B |
È possibile confrontare gli input con altri input o con una costante in un’espressione condizionale. Ad esempio, se è presente un input numerico chiamato profit e un altro denominato expenses, sia profit > expenses che profit <= 1000 sono due espressioni valide.
È possibile utilizzare gli operatori logici seguenti per combinare espressioni e creare condizioni più complesse. Si consiglia di utilizzare le parentesi per evitare ambiguità nel raggruppamento delle espressioni:
| Operatore | Significato | Esempio di utilizzo | Esempio di significato |
|---|---|---|---|
| e | Entrambe le espressioni sono vere | (A < B) and (C == 1) | Se entrambe le espressioni sono vere:
|
| oppure | Almeno un’espressione è vera | (A != 2) or (B > C) | Se una delle due espressioni è vera:
|
| not | L’espressione non è vera | not (A > B) | Se A non è maggiore di B (equivalente a A <= B) |
Nell’API, definisci i seguenti elementi nel campo definition quando invii una richiesta CreateFlow o UpdateFlow:
-
Un oggetto FlowNode di condizione nell’array
nodes. Il formato generale è il seguente (notare che i nodi di condizione non includonooutputs):{ "name": "string", "type": "Condition", "inputs": [ { "name": "string", "type": "String | Number | Boolean | Object | Array", "expression": "string" } ], "configuration": { "condition": { "conditions": [ { "name": "string", "expression": "string" }, ... ] } } } -
Per ogni input nel nodo di condizione, un oggetto FlowConnection nell’array
connections. Includi un oggetto FlowDataConnectionConfiguration nel campoconfigurationdell’oggettoFlowConnection. Il formato generale dell’oggettoFlowConnectionè il seguente:{ "name": "string", "source": "string", "target": "string", "type": "Data", "configuration": { "data": { "sourceOutput": "string", "expression": "string" } } } -
Per ogni condizione (inclusa la condizione predefinita) nel nodo di condizione, un oggetto FlowConnection nell’array
connections. Includi un oggetto FlowConditionalConnectionConfiguration nel campoconfigurationdell’oggettoFlowConnection. Il formato generale dell’oggetto FlowConnection è il seguente:{ "name": "string", "source": "string", "target": "string", "type": "Conditional", "configuration": { "conditional": { "condition": "string" } } }Utilizza gli operatori relazionali e logici per definire la
conditionche collega questo nodo di condizionesourcea un nodotargeta valle. Per la condizione predefinita, specifica la condizione comedefault.
Un nodo iteratore accetta un array e restituisce i relativi elementi in modo iterativo come output al nodo a valle. Gli input del nodo iteratore vengono elaborati uno per uno e non in parallelo. Il nodo di output del flusso restituisce il risultato finale per ogni input in una risposta distinta. Puoi utilizzare anche un nodo raccoglitore a valle del nodo iteratore per raccogliere le risposte iterate e restituirle come array, insieme alle dimensioni dell’array.
Di seguito, viene illustrata la struttura generale di un oggetto iteratore FlowNode:
{ "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 di raccolta accetta un input iterato, oltre alla dimensione dell’array, e lo restituisce come array. Puoi utilizzare un nodo di raccolta a valle di un nodo iteratore per raccogliere gli elementi iterati dopo averli inviati attraverso alcuni nodi.
Di seguito viene illustrata la struttura generale di un oggetto FlowNode di raccolta:
{ "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 di loop DoWhile esegue ripetutamente una sequenza di nodi finché una condizione specificata rimane vera. Il loop viene eseguito almeno una volta prima di valutare la condizione, il che lo rende ideale per gli scenari in cui è necessario eseguire un’azione e quindi verificare se deve essere ripetuta in base al risultato.
Il nodo di loop DoWhile ottiene dati di input e li trasmette attraverso il body del loop. Dopo ogni iterazione, la condizione viene valutata per determinare se continuare il loop o uscire. Il loop continua finché la condizione restituisce true o maxIterations non viene superato.
Di seguito viene mostrata la struttura generale di un oggetto FlowNode del 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" } } }
Nella configurazione:
-
condition: un’espressione booleana che determina se continuare il loop. Utilizza gli stessi operatori relazionali e logici dei nodi di condizione. La condizione viene valutata dopo ogni iterazione. -
maxIterations: il numero massimo di iterazioni. Il valore predefinito è 10. È necessario specificare un numero positivo. Questo parametro consente di evitare loop infiniti.
Nota
Il parametro maxIterations ha un valore predefinito di 10 e accetta solo numeri positivi. Il loop termina quando la condizione restituisce false o viene raggiunto il numero massimo di iterazioni.
Nodi per la gestione dei dati nel flusso
Utilizza i seguenti tipi di nodi per gestire i dati nel flusso:
Un nodo del prompt definisce un prompt da utilizzare nel flusso. È possibile utilizzare un prompt di Gestione dei prompt o definirne uno in linea nel nodo. Per ulteriori informazioni, consulta Creare e archiviare prompt riutilizzabili con Gestione dei prompt in Amazon Bedrock.
Per vedere un esempio, consulta Provare flussi di esempio.
Gli input del nodo del prompt sono valori per compilare le variabili. L’output è la risposta generata dal modello.
Di seguito viene illustrata la struttura generale di un oggetto FlowNode del 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" } } } }
L’oggetto PromptFlowNodeSourceConfiguration dipende dall’utilizzo di un prompt di Gestione dei prompt o dalla definizione in linea:
-
Se utilizzi un prompt di Gestione dei prompt, l’oggetto deve avere la seguente struttura generale:
{ "resource": { "promptArn": "string" } } -
Se definisci un prompt in linea, segui le indicazioni per la definizione di una variante nella scheda API di Creare un prompt utilizzando Gestione prompt (tuttavia, in questo oggetto non è presente alcun campo
name). L’oggetto che usi deve avere la seguente struttura generale:{ "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", ... } } }
Per applicare un guardrail di Guardrail per Amazon Bedrock al tuo prompt o alla risposta che genera, includi il campo guardrailConfiguration e specifica l’ID o l’ARN del guardrail nel campo guardrailIdentifier e la versione del guardrail nel campo guardrailVersion.
Un nodo dell’agente consente di inviare un prompt a un agente, che orchestra tra FM e risorse associate per identificare ed eseguire azioni per un utente finale. Per ulteriori informazioni, consulta Automazione delle attività nella propria applicazione utilizzando agenti IA.
Nella configurazione, specifica il nome della risorsa Amazon (ARN) dell’alias dell’agente da utilizzare. Gli input nel nodo sono il prompt dell’agente e qualsiasi attributo di prompt o sessione associato. Il nodo restituisce la risposta dell’agente come output.
Un nodo dell’agente può supportare invocazioni a più turni, abilitando conversazioni interattive tra gli utenti e l’agente durante l’esecuzione del flusso. Quando un nodo dell’agente richiede informazioni o chiarimenti aggiuntivi, può mettere in pausa l’esecuzione del flusso e richiedere un input specifico all’utente. Una volta che l’utente fornisce le informazioni richieste, il nodo dell’agente continua l’elaborazione con il nuovo input. Questa operazione continua finché il nodo dell’agente non dispone di tutte le informazioni necessarie per completare l’esecuzione
Di seguito, viene illustrata la struttura generale di un oggetto agente FlowNode:
{ "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 della knowledge base consente di inviare una query a una knowledge base di Knowledge Base per Amazon Bedrock. Per ulteriori informazioni, consulta Recupero di dati e generazione di risposte di IA con Knowledge Base per Amazon Bedrock.
Nella configurazione, fornisci almeno knowledgeBaseId. È possibile includere i campi riportati di seguito, a seconda del caso d’uso:
-
modelId: includi un ID modello da utilizzare se desideri generare una risposta in base ai risultati recuperati. Per restituire i risultati recuperati come array, ometti l’ID modello. -
guardrailConfiguration: includi l’ID o l’ARN del guardrail, definito in Guardrail per Amazon Bedrock nel campoguardrailIdentifiere la versione del guardrail nel campoguardrailVersion.Nota
Guardrail può essere applicato solo quando si utilizza
RetrieveAndGeneratein un nodo della knowledge base.
L’input nel nodo è la query della knowledge base. L’output è la risposta del modello, sotto forma di stringa, o un array dei risultati recuperati.
Di seguito, viene illustrata la struttura generale di un oggetto FlowNode della knowledge base:
{ "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 di storage S3 consente di archiviare i dati nel flusso verso un bucket Amazon S3. Nella configurazione, specifichi il bucket S3 da utilizzare per l’archiviazione di dati. Gli input nel nodo sono il contenuto da archiviare e la chiave dell’oggetto. Il nodo restituisce l’URI della posizione S3 come output.
Di seguito, viene illustrata la struttura generale di un oggetto FlowNode di storage 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 di recupero S3 ti consente di recuperare i dati da una posizione Amazon S3 per introdurli nel flusso. Nella configurazione, specifichi il bucket S3 da cui recuperare i dati. L’input nel nodo è la chiave oggetto. Il nodo restituisce il contenuto nella posizione S3 come output.
Nota
Attualmente, i dati nella posizione S3 devono essere una stringa con codifica UTF-8.
Di seguito, viene illustrata la struttura generale di un oggetto FlowNode di recupero 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 della funzione Lambda consente di chiamare una funzione Lambda in cui è possibile definire il codice per eseguire la logica aziendale. Quando includi un nodo Lambda in un flusso, Amazon Bedrock invia un evento di input alla funzione Lambda specificata.
Nella configurazione, specifica il nome della risorsa Amazon (ARN) della funzione Lambda. Definisci gli input da inviare nell’evento di input Lambda. Puoi scrivere codice basato su questi input e definire cosa restituisce la funzione. La risposta della funzione viene restituita nell’output.
Di seguito, viene illustrata la struttura generale di un oggetto FlowNode della funzione 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 di input Lambda per un flusso
L’evento di input inviato a una funzione Lambda in un nodo Lambda ha il seguente formato:
{ "messageVersion": "1.0", "flow": { "flowArn": "string", "flowAliasArn": "string" }, "node": { "name": "string", "inputs": [ { "name": "string", "type": "String | Number | Boolean | Object | Array", "expression": "string", "value": ... }, ... ] } }
I campi per ogni input corrispondono ai campi specificati durante la definizione del nodo Lambda, mentre il valore del campo value viene popolato con l’intero input nel nodo dopo essere stato risolto dall’espressione. Ad esempio, se l’intero input nel nodo è [1, 2, 3] e l’espressione è $.data[1], il valore inviato nell’evento di input alla funzione Lambda sarebbe 2.
Per ulteriori informazioni, consulta Concetti Lambda nella Guida per gli sviluppatori di AWS Lambda.
Risposta Lambda per un flusso
Quando scrivi una funzione Lambda, definisci la risposta da essa restituita. Questa risposta viene restituita al flusso come output del nodo Lambda.
Un nodo di codice inline consente di scrivere ed eseguire codice direttamente nel flusso, abilitando trasformazioni di dati, logica personalizzata e integrazioni senza utilizzare una funzione Lambda esterna. Quando includi un nodo di codice inline nel flusso, Amazon Bedrock esegue il codice in un ambiente isolato e AWS gestito che non è condiviso con nessuno e non dispone di accesso a Internet.
Nota
Il nodo del codice inline è disponibile in anteprima per Amazon Bedrock ed è soggetto a modifica.
Nella configurazione del nodo, specifica il codice da eseguire insieme al linguaggio di programmazione (attualmente Python_3 è l’unica opzione). Definisci gli input a cui il tuo codice può accedere come variabili. Il risultato dell’ultima riga eseguita nel codice viene restituito come output del nodo.
L’esempio seguente mostra la struttura generale di un oggetto FlowNode di codice 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" } } }
Considerazioni su quando utilizzare i nodi di codice inline
Quando usi i nodi di codice inline nel flusso, tieni in considerazione quanto segue:
Importante
Ti consigliamo di testare il codice prima di aggiungerlo a un nodo di codice inline.
-
I nodi di codice inline non sono supportati nell’esecuzione asincrona del flusso.
-
Attualmente, l’unico linguaggio di programmazione supportato dai nodi di codice inline è Python 3.12 (
Python_3). -
Il codice inline si comporta come una sessione Python interattiva. Solo il risultato dell’ultima riga eseguita viene acquisito e restituito come output del nodo.
-
L’output della console Python (ad esempio l’output dalla funzione
print) non viene acquisito. -
Gli input per il nodo di codice inline sono disponibili come variabili Python nel codice. Usa il nome esatto dell’input del nodo per farvi riferimento.
-
Configura correttamente i tipi di input e output per evitare errori di runtime. È possibile configurare fino a cinque input per nodi.
-
Puoi avere fino a cinque nodi di codice inline per flusso.
-
È possibile avere un massimo di 25 nodi di codice inline in esecuzione per Account AWS.
-
Il tuo codice non può superare i 5 MB.
Input del nodo di codice inline
Gli input che definisci per il nodo di codice inline sono disponibili come variabili Python nel codice. Ad esempio, se definisci un input denominato userData, puoi accedervi direttamente nel codice come userData.
Il valore di ogni input viene compilato in base all’espressione definita. Ad esempio, se l’input per il nodo è {"name": "John",
"age": 30} e l’espressione è $.name, il valore della variabile di input sarebbe "John".
Output del nodo di codice inline
Il risultato dell’ultima riga eseguita nel codice viene restituito come output del nodo di codice inline. Questo output è disponibile per i nodi successivi del flusso.
Ad esempio, il codice seguente restituisce un dizionario come output del nodo:
# Process input data result = {"processed": True, "data": userData} # The last line's result is returned as the node output result
Nota
Il nodo Lex si basa sul servizio Amazon Lex, che può archiviare e utilizzare i contenuti dei clienti per lo sviluppo e il miglioramento continuo di altri servizi AWS. Come cliente AWS, puoi decidere di rinunciare all'archiviazione e all'utilizzo dei tuoi contenuti per migliorare il servizio. Per informazioni su come implementare una policy di non adesione per Amazon Lex, consulta le policy di non adesione ai servizi di IA.
Un nodo Lex consente di chiamare un bot Amazon Lex per elaborare un enunciato utilizzando l’elaborazione del linguaggio naturale e identificare un intento, in base alla definizione del bot. Per ulteriori informazioni, consulta Guida per gli sviluppatori di Amazon Lex.
Nella configurazione, specifica il nome della risorsa Amazon (ARN) dell’alias del bot da utilizzare e della locale da utilizzare. Gli input nel nodo sono l’enunciato e gli eventuali attributi di richiesta o attributi di sessione associati. Il nodo restituisce l’intento identificato come output.
Nota
Attualmente, il nodo Lex non supporta le conversazioni a più turni. Un nodo Lex può elaborare un solo enunciato.
Quanto segue mostra la struttura generale di un oggetto Lex FlowNode:
{ "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" } } }
Tabelle riassuntive per i tipi di nodi
Le tabelle seguenti riassumono gli input e gli output consentiti per ogni tipo di nodo. Tieni presente quanto segue:
-
Se un nome è contrassegnato come Any, puoi fornire qualsiasi stringa come nome. In caso contrario, dovrai usare il valore specificato nella tabella.
-
Se un tipo è contrassegnato come Any, è possibile specificare uno dei seguenti tipi di dati: String, Number, Boolean, Object, Array. In caso contrario, dovrai usare il tipo specificato nella tabella.
-
È possibile definire più input per i nodi Condizione, Prompt, Funzione Lambda e Codice inline.
| Info di input | Info di output | |||||
|---|---|---|---|---|---|---|
| Tipo di nodo | Input | Nome | Tipo | Output | Nome | Tipo |
| Input | N/D | N/D | N/D | Il campo content nella richiesta InvokeFlow. |
document |
Qualsiasi |
| Output | Dati da restituire nella risposta InvokeFlow. |
document |
Qualsiasi | N/D | N/D | N/D |
| Condizione |
Dati da inviare in base a una condizione. (sono consentiti più input) |
Qualsiasi | Qualsiasi |
Dati da inviare in base a una condizione. (specifica le condizioni per percorsi diversi) |
Qualsiasi | Qualsiasi |
| Iteratore | Un array per il quale si desidera applicare i seguenti nodi in modo iterativo a ciascun membro. | array |
Array | Ogni elemento dell’array | arrayItem |
Qualsiasi |
| La dimensione dell’array di input | arraySize |
Number | ||||
| Raccolta | Un’iterazione che si desidera consolidare in un array. | arrayItem |
Qualsiasi | Un array con tutti gli output del nodo precedente aggiunti. | collectedArray |
Array |
| La dimensione dell’array di output | arraySize |
Number | ||||
| Loop DoWhile | Dati da elaborare nel loop. | loopInput |
Qualsiasi | L’output finale del loop dopo tutte le iterazioni. | loopOutput |
Qualsiasi |
| Il numero di iterazioni eseguite. | iterationCount |
Number | ||||
| Info di input | Info di output | |||||
|---|---|---|---|---|---|---|
| Tipo di nodo | Input | Nome | Tipo | Output | Nome | Tipo |
| Prompt |
Un valore per inserire una variabile nel prompt (sono consentiti più input). |
|
Qualsiasi | La risposta restituita dal modello. | modelCompletion |
Stringa |
| Storage S3 | Dati da memorizzare in un bucket S3. | content |
Qualsiasi | L’URI della posizione S3. | s3Uri |
Stringa |
| La chiave dell’oggetto da usare per l’oggetto S3. | objectKey |
Stringa | ||||
| Recupero S3 | La chiave dell’oggetto per l’oggetto S3. | objectKey |
Stringa | I dati da recuperare da un bucket S3. | s3Content |
Qualsiasi |
| Agente | Il prompt da inviare all’agente. | agentInputText |
Stringa | La risposta restituita dall’agente. | agentResponse |
Stringa |
| Qualsiasi attributo del prompt da inviare insieme al prompt. | promptAttributes |
Oggetto | ||||
| Qualsiasi attributo di sessione da inviare insieme al prompt. | sessionAttributes |
Oggetto | ||||
| Knowledge base | La query da inviare alla knowledge base. | retrievalQuery |
Stringa | I risultati restituiti o la risposta generata dalla knowledge base. | retrievalResults |
Array |
| Funzione Lambda |
Dati da inviare alla funzione (sono consentiti più input). |
Qualsiasi | Qualsiasi | La risposta restituita dalla funzione. | functionResponse |
Qualsiasi |
| Nodo di codice inline |
Variabili per l’esecuzione del codice (sono consentiti più input). |
Qualsiasi | Qualsiasi | L’ultima riga eseguita nel codice. | response |
Qualsiasi |
| Lex | L’enunciato da inviare al bot. | inputText |
Stringa | L’output è l’intento che il bot Amazon Lex prevede per l’enunciato. | predictedIntent |
Stringa |
| Qualsiasi attributo della richiesta da inviare insieme all’enunciato. | requestAttributes |
Oggetto | ||||
| Qualsiasi attributo di sessione da inviare insieme all’enunciato. | sessionAttributes |
Oggetto | ||||