Atribuidor de Variáveis
Definição
O nó de atribuição de variáveis é usado para atribuir valores a variáveis editáveis. As variáveis editáveis atualmente suportadas incluem:
Uso: Por meio do nó de atribuição de variáveis, você pode atribuir variáveis de workflow a variáveis de conversação para armazenamento temporário, que podem ser continuamente referenciadas em conversas subsequentes.

Exemplos de Cenários de Uso
Usando o nó de atribuição de variáveis, você pode escrever o contexto do processo de conversação, arquivos enviados para a caixa de diálogo (em breve) e informações de preferência do usuário em variáveis de conversação. Essas variáveis armazenadas podem ser referenciadas em conversas subsequentes para direcionar diferentes fluxos de processamento ou formular respostas.
Cenário 1 Você pode escrever o contexto durante a conversa, o arquivo enviado para a caixa de chat (em breve), as informações de preferência inseridas pelo usuário, etc., na variável de conversação usando o nó de Atribuição de Variáveis. Essas informações armazenadas podem ser referenciadas em conversas futuras para guiar diferentes fluxos de processamento ou fornecer respostas.
Exemplo: Após o início da conversa, o LLM determinará automaticamente se a entrada do usuário contém fatos, preferências ou histórico de conversas que precisam ser lembrados. Se contiver, o LLM primeiro extrairá e armazenará essas informações, usando-as como contexto para responder. Se não houver novas informações para lembrar, o LLM usará diretamente as memórias relevantes anteriores para responder às perguntas.

Processo de Configuração:
- Definir Variáveis de Conversação: Primeiro, configure uma array de Variáveis de Conversação chamada memories, do tipo array[object], para armazenar informações do usuário, preferências e histórico de conversas.
- Determinar e Extrair Memórias: Adicione um nó de Ramificação Condicional, usando o LLM para determinar se a entrada do usuário contém novas informações que precisam ser lembradas.
- Atribuição/Escrita de Variáveis: No ramo superior, use o nó de atribuição de variáveis para adicionar as novas informações extraídas à array memories.
- Leitura e Uso de Variáveis: Nos nós LLM subsequentes, converta o conteúdo da array memories em uma string e insira-a no prompt do LLM como contexto.
Converter string em objeto
import json
def main(arg1: str) -> object:
try:
# Analisar a string JSON de entrada
input_data = json.loads(arg1)
# Extrair o objeto de memória
memory = input_data.get("memory", {})
# Construir o objeto de retorno
result = {
"facts": memory.get("facts", []),
"preferences": memory.get("preferences", []),
"memories": memory.get("memories", [])
}
return {
"mem": result
}
except json.JSONDecodeError:
return {
"result": "Erro: String JSON inválida"
}
except Exception as e:
return {
"result": f"Erro: {str(e)}"
}Converter objeto em string
import json
def main(arg1: list) -> str:
try:
# Assume-se que arg1[0] seja o dicionário que precisamos processar
context = arg1[0] if arg1 else {}
# Construir o objeto de memória
memory = {"memory": context}
# Converter o objeto para uma string JSON
json_str = json.dumps(memory, ensure_ascii=False, indent=2)
# Envolver a string JSON em tags <answer>
result = f"<answer>{json_str}</answer>"
return {
"result": result
}
except Exception as e:
return {
"result": f"<answer>Erro: {str(e)}</answer>"
}Cenário 2 Registro das preferências iniciais do usuário: Lembrar a preferência de idioma inserida pelo usuário durante a conversa e continuar usando esse idioma para respostas nas conversas subsequentes.
Exemplo: Antes da conversa, o usuário especifica "Inglês" na caixa de entrada de idioma. Esse idioma será gravado na variável de conversação, e o LLM usará essa informação ao responder, continuando a usar "Inglês" em conversas futuras.

Guia de Configuração:
- Definir a variável de conversação: Primeiro, defina uma variável de conversação chamada language. Adicione um nó de verificação de condição no início do fluxo da conversa para verificar se a variável language está vazia.
- Escrita/Atribuição de Variável: No início da primeira rodada de conversação, se a variável language estiver vazia, use um nó LLM para extrair o idioma inserido pelo usuário e, em seguida, use o nó de atribuição de variáveis para gravar esse idioma na variável de conversação language.
- Leitura de Variáveis: Nas rodadas subsequentes de conversação, a variável language armazenará a preferência de idioma do usuário, e o nó LLM referenciará essa variável para responder usando o tipo de idioma preferido pelo usuário.
Cenário 3 Assistência com a verificação de listas de tarefas: Registrar entradas do usuário dentro da conversa usando variáveis de conversação, atualizar o conteúdo da lista de verificação e verificar itens pendentes nas conversas subsequentes.
Exemplo: Após iniciar a conversa, o LLM solicitará que o usuário insira itens relacionados à lista de verificação na caixa de chat. Assim que o usuário mencionar conteúdo da lista de verificação, ele será atualizado e armazenado na variável de conversação. O LLM lembrará o usuário de continuar complementando os itens faltantes após cada rodada de diálogo.

Processo de Configuração:
- Definir variável de conversação: Primeiro, defina uma variável de conversação chamada ai_checklist e faça referência a essa variável no LLM como contexto para verificação.
- Escrita/Atribuição de Variáveis: Durante cada rodada de diálogo, verifique o valor em ai_checklist dentro do nó LLM e compare-o com a entrada do usuário. Se o usuário fornecer novas informações, atualize a lista de verificação e escreva o conteúdo atualizado em ai_checklist usando o nó de atribuição de variáveis.
- Leitura de Variáveis: Leia o valor em ai_checklist e compare-o com a entrada do usuário em cada rodada de diálogo até que todos os itens da lista sejam concluídos.
Usando o Nó de Atribuição de Variáveis
Clique no sinal de "+" no lado direito do nó, selecione o nó "atribuidor de variáveis" e preencha "Variável Atribuída" e "Definir Variável".

Configuração das Variáveis:
- Variável Atribuída: Selecione a variável que será atribuída, ou seja, especifique a variável de conversação de destino que precisa ser atribuída.
- Definir Variável: Selecione a variável a ser atribuída, ou seja, especifique a variável de origem que precisa ser convertida.
Modo de Escrita:
- Sobrescrever: Sobrescreve o conteúdo da variável de origem na variável de conversação de destino.
- Adicionar: Quando a variável especificada é do tipo Array.
- Limpar: Limpa o conteúdo da variável de conversação de destino.