agregação de variáveis
definir
Agregue variáveis de várias ramificações em uma única variável para configuração uniforme dos nós downstream.
O nó Agregação de variáveis (anteriormente chamado de nó Atribuição de variáveis) é um nó-chave no fluxo de trabalho responsável por consolidar as saídas de diferentes ramificações, garantindo que os resultados sejam referenciados e acessados por meio de uma única variável unificada, independentemente da ramificação executada. Isso é muito útil no caso de várias ramificações, em que as variáveis com a mesma função em diferentes ramificações podem ser mapeadas para uma única variável de saída, evitando definições duplicadas em nós downstream.
tomar
A agregação de variáveis simplifica o gerenciamento do fluxo de dados, permitindo que várias saídas, como a classificação de problemas ou a ramificação condicional, sejam agregadas em uma única saída para uso e manipulação por nós a jusante do processo.
Agregação múltipla após a classificação do problema
Sem adicionar a agregação de variáveis, o LLM downstream e os nós de resposta direta precisam ser definidos repetidamente para os ramos de classificação 1 e classificação 2 depois de terem sido recuperados de diferentes bases de conhecimento.
- Classificação de problemas (agregação sem variáveis)
A adição de agregação de variáveis permite agregar a saída de dois nós de recuperação de conhecimento em uma única variável.
- Agregação múltipla após a classificação do problema
Agregação múltipla após ramificação condicional IF/ELSE
- Agregação múltipla após a classificação do problema
Requisitos de formatação
O Agregador de variáveis suporta a agregação de vários tipos de dados, incluindo cadeias de caracteres (Cordas
), figuras (Número
), documentação (Arquivo
) objeto (Objeto
) e matrizes (Matriz
)
Os agregadores de variáveis só podem agregar variáveis do mesmo tipo de dados. Se a primeira variável a ser adicionada ao nó de agregação de variáveis estiver no formato de dados da variável Se o formato de dados da primeira variável adicionada ao nó de agregação de variáveis for Cordas
A variável que pode ser adicionada é filtrada automaticamente para conexões subsequentes com o Cordas
Tipo.
agrupamento agregado
Com o agrupamento de agregados ativado, o agregador de variáveis pode agregar vários grupos de variáveis, com o mesmo tipo de dados necessário para a agregação em cada grupo.
atribuição de variáveis
definir
O nó Atribuição de variável é usado para fazer atribuições de variáveis a variáveis graváveis, e as seguintes variáveis graváveis são suportadas:
Uso: o nó Atribuição de variável permite atribuir uma variável em um fluxo de trabalho a uma variável de sessão para armazenamento temporário e pode ser continuamente referenciada em diálogos subsequentes.
Cenários de amostra
Você pode definir o processo de diálogo doContexto, arquivos carregados na caixa de diálogo, preferências inseridas pelo usuárioetc., são gravados nas variáveis de sessão por meio do nó de atribuição de variáveis e usados como informações de referência para diálogos subsequentes.
Cena 1
Determina automaticamente a extração e o armazenamento de informações no diálogo O LLM pode registrar informações importantes inseridas pelo usuário na sessão por meio de uma matriz de variáveis de sessão e fazer com que o LLM personalize as respostas em conversas subsequentes com base nas informações históricas armazenadas nas variáveis de sessão.
Exemplo: após iniciar um diálogo, o LLM determina automaticamente se a entrada do usuário contém fatos, preferências ou histórico que precisam ser lembrados. Em caso afirmativo, o LLM extrai e armazena essas informações antes de usá-las como contexto para a resposta. Se não houver novas informações a serem armazenadas, o LLM responderá à pergunta diretamente usando seu próprio conhecimento de memória relevante.
Processo de configuração:
- Definição de variáveis de sessão Primeiro, configure uma matriz de variáveis de sessão
memórias
do tipo array[object], é usado para armazenar os fatos, as preferências e o histórico do usuário. - Memória extrativa e de julgamento ::
- Adicione um nó de julgamento condicional que use o LLM para determinar se a entrada do usuário contém novas informações que precisam ser lembradas.
- Se houver novas informações, suba na ramificação e use o nó LLM para extrair essas informações.
- Se não houver novas informações, vá até o ramo e responda diretamente usando a memória existente.
- Atribuição/escrita variável ::
- Na ramificação superior, as novas informações extraídas são anexadas (append) usando o nó de atribuição de variável para o
memórias
na matriz. - Use a função de escape para converter as cadeias de texto geradas pelo LLM em um formato adequado para armazenamento na matriz[objeto].
- Na ramificação superior, as novas informações extraídas são anexadas (append) usando o nó de atribuição de variável para o
- Leitura e uso de variáveis ::
- No nó LLM subsequente, o
memórias
O conteúdo da matriz é convertido em uma cadeia de caracteres e inserido nos Prompts do LLM como contexto. - O LLM usa essas informações históricas para gerar respostas personalizadas.
- No nó LLM subsequente, o
O código do nó de código na figura é o seguinte:
- Escape de uma string em um objeto
Cópia
importar json
defmain(arg1:str) ->objeto.
try: # Analisa a string JSON de entrada.
# Analisar a string JSON de entrada
input_data = json.loads(arg1)
# Extraia o objeto de memória
memory = input_data.get("memory", {})
# Construa o objeto de retorno
result ={
"memories": memory.get("memories", [])
}
return{
"mem": result
}
except json.JSONDecodeError: return{ "mem": result }
JSONDecodeError: return{
"result": "Erro: string JSON inválida"
}
exceptExceptionas e: return{ "result": "Error: Invalid JSON string" }
return{
"result":f "Erro: {str(e)}"
}
- Escape de objeto para string
Cópia
importar json
defmain(arg1:lista) ->str.
try: # Assume que arg1[0] é o dicionário que precisamos processar.
# Suponha que arg1[0] seja o dicionário que precisamos processar
contexto = arg1[0] if arg1 else{}
# Construa o objeto de memória
memory ={"memory": context}
# Converta o objeto em uma string JSON
json_str = json.dumps(memory, ensure_ascii=False, indent=2)
# Envolva a string JSON em tags
result =f "{json_str}"
return{
"result": result
}
exceptExceptionas e.
return{
"result":f"Error: {str(e)}"
}
Cena 2
Registre as informações de preferência inicial do usuário que lembra a preferência de idioma inserida pelo usuário na sessão e responde consistentemente nesse tipo de idioma em diálogos subsequentes.
Exemplo: O usuário inicia um diálogo antes do idioma
Se "Chinês" for especificado na caixa de entrada, o idioma será gravado na variável de sessão, e o LLM fará referência às informações da variável de sessão ao responder nos diálogos seguintes e continuará a responder em "Chinês" nos diálogos seguintes.
Processo de configuração:
Definição de variáveis de sessão Primeiro, defina uma variável de sessão idioma
Se o fluxo de sessão for muito alto, adicione um nó de julgamento condicional no início do fluxo de sessão para julgar o idioma
Se o valor da variável é nulo.
Gravação/atribuição de variável No início da primeira rodada de diálogo, se idioma
Se o valor da variável for nulo, o nó LLM será usado para extrair o idioma inserido pelo usuário e, em seguida, o nó de atribuição de variável será usado para gravar o tipo de idioma na variável de sessão idioma
Médio.
Leitura de variáveis Em rodadas subsequentes do diálogo idioma
já armazena a preferência de idioma do usuário. Em diálogos subsequentes, o nó do LLM responde com o tipo de idioma preferido do usuário, fazendo referência à variável de idioma.
Cena 3
Lista de verificação auxiliar Verificação A Checklist é um conjunto de variáveis que pode ser usado para registrar as entradas do usuário em uma sessão por meio de variáveis de sessão, atualizar o conteúdo da Checklist e verificar se há itens ausentes em diálogos subsequentes.
Exemplo: depois de iniciar um diálogo, o LLM solicitará ao usuário que insira os itens da lista de verificação na caixa de diálogo. Quando o usuário mencionar os itens da lista de verificação, ela será atualizada e armazenada na variável de sessão.
Processo de configuração:
- Definição de variáveis de sessão: Primeiro, defina uma variável de sessão
ai_checklist
a variável é referenciada no LLM como o contexto a ser examinado. - Atribuição/escrita variável: Em cada rodada de diálogo, no nó do LLM, verifique o
ai_checklist
e compará-lo com a entrada do usuário; se o usuário fornecer novas informações, atualize a lista de verificação e grave a saída no arquivoai_checklist
No interior. - Leitura variável: Cada rodada de diálogo diz
ai_cheklist
valores e comparar a entrada do usuário até que todas as listas de verificação sejam concluídas.
Atribuição de nós usando variáveis
Clique no lado direito do nó +
No., selecione "Atribuição de variável" que configura as variáveis que precisam ser atribuídas com a variável de origem. O nó Atribuição de variável suporta a atribuição de valores a várias variáveis ao mesmo tempo.
Configuração de variáveis
Variáveis: Seleciona a variável à qual deve ser atribuído um valor.
Variáveis de configuração: Seleciona a variável a ser atribuída, ou seja, especifica a variável de origem a ser convertida.
A lógica de atribuição de variáveis na figura acima: a preferência de idioma preenchida pelo usuário na página inicial é levada em consideração. Início/idioma
Atribuição de variáveis a variáveis de sessão em nível de sistema idioma
No interior.
Especificar o modo de gravação da variável
O tipo de dados da variável de destino afetará o modo de gravação da variável. Veja a seguir os modos de gravação entre diferentes variáveis:
- O tipo de dados da variável de destino é
Cordas
.
- sobrescrever A variável de origem é sobrescrita diretamente na variável de destino.
- claro A seguir, uma lista das variáveis que você selecionou.
- configurar Se você quiser especificar um valor manualmente, não precisará definir a variável de origem.
- O tipo de dados da variável de destino é
Número
.
- sobrescrever A variável de origem é sobrescrita diretamente na variável de destino.
- claro A seguir, uma lista das variáveis que você selecionou.
- configurar Se você quiser especificar um valor manualmente, não precisará definir a variável de origem.
- processamento digital A variável-alvo é submetida a um
adição, subtração, multiplicação e divisão
equipamento
- O tipo de dados da variável de destino é
Objeto
.
- sobrescrever O conteúdo da variável de origem é sobrescrito diretamente na variável de destino.
- claro A seguir, uma lista das variáveis que você selecionou.
- configurar Se você quiser especificar um valor manualmente, não precisará definir a variável de origem.
- O tipo de dados da variável de destino é
Matriz
.
- sobrescrever O conteúdo da variável de origem é sobrescrito diretamente na variável de destino.
- claro A seguir, uma lista das variáveis que você selecionou.
- um título póstumo adicional adiciona um novo elemento à variável de matriz do destino
- extensões Se quiser adicionar uma nova matriz à variável de matriz do destino, ou seja, adicionar mais de um elemento por vez, você pode fazer isso.