Como os blocks passam dados

Quase todo block precisa de um valor produzido por um block anterior. Um block obtém esse valor referenciando a saída daquele block pelo nome. Esta página cobre três coisas: o que é uma saída e onde ela fica, como um block referencia uma saída e os tipos de valores que você vai encontrar nela.

Neste workflow, Classify lê a mensagem de Start, e Reply lê a classificação de Classify.

O que é uma saída

Quando um block executa, o Studio guarda o resultado dele com o nome do block pelo resto da execução. Esse resultado guardado é a saída do block, e qualquer block posterior pode lê-lo.

Uma saída normalmente é um conjunto de valores nomeados, não uma coisa única. Você lê um deles pela sua chave: <classify.content> é o valor content do block chamado classify.

Logs
Start9ms
classify2.1s
OutputInput
contentstring
"Billing · high urgency"
modelstring
tokensobject
inputnumber
412
outputnumber
38
totalnumber
450

Blocks diferentes produzem valores diferentes. Um Agent guarda seu content; um API guarda o data que recebeu; um block Table guarda um rowCount e as linhas que leu, acessadas com <table1.rowCount>.

A saída de um block não é a mesma coisa que a saída do workflow. Cada block tem a sua, guardada com o próprio nome. A saída do workflow é simplesmente uma delas: o que o último block produziu.

Como um block referencia uma saída

As entradas de um block são seus parâmetros: os campos que você preenche, como o modelo e o prompt de um Agent. Em qualquer parâmetro você pode inserir uma tag de conexão para trazer uma saída anterior em vez de digitar um valor fixo. O <start.input> no prompt de Classify significa "use aqui o que Start recebeu".

Um block pode referenciar qualquer saída que já exista no momento em que ele executa, ou seja, qualquer block antes dele no mesmo caminho (veja como os workflows executam). Você raramente digita uma tag à mão: onde um parâmetro aceita uma, o workflow builder lista as saídas disponíveis e você escolhe o valor que quer.

Tipos de dados

Cada valor dentro de uma saída tem um tipo, exibido ao lado dele no painel de saída. O tipo indica o que você pode fazer com o valor: indexar um array, ler um campo de um objeto, comparar um número.

TipoO que éExemplo
stringTexto"Billing issue"
numberUm valor numérico248
booleantrue ou falsetrue
objectUm conjunto de campos nomeados{ category: "billing", urgency: "high" }
arrayUma lista ordenada de valores["billing", "urgent"]
nullNenhum valornull

Um arquivo aparece como um object com os detalhes do arquivo, como nome e URL. Quando um valor não é do tipo que o próximo passo precisa, ajuste o formato em um block Function, que executa um trecho curto de código e guarda o resultado como saída própria.

Próximos passos