Funções do assistente de IA

Neste artigo, você aprenderá sobre os recursos do assistente de IA e verá como eles podem ser aplicados na prática.

Como excluir o histórico de conversa com o assistente de IA

clear_assistant_chat_history() - esta função exclui o histórico de conversa do cliente com o assistente. Ela não recebe parâmetros.

Exemplo

  1. As configurações do bloco do construtor

  1. As configurações da aba Assistente de IA

Como enviar uma pergunta ao assistente de IA

ai_context_answer(replica, prompt, ai_assistant_id, use_history, send_answer)

Parâmetros:

Parâmetro
Descrição
Observação

! replica

parâmetro obrigatório, mensagem para o assistente

prompt

parâmetro opcional, instruções para o assistente

se o parâmetro não for especificado, mas o parâmetro ai_assistant_id for fornecido, as instruções das configurações do assistente especificado serão usadas

ai_assistant_id

ID do assistente para o qual a pergunta será enviada;

se não for fornecido, será usado o assistente sem configurações padrão

use_history

se o assistente deve usar o histórico do chat para responder à pergunta

True - usar, False - não usar. Por padrão - True

send_answer

enviar resposta após o período de timeout do assistente

Para ativar, passe "1"

Mais detalhes sobre o send_answer parâmetro:

As configurações do assistente incluem parâmetros que podem ser configurados caso a resposta do bot demore muito

Em uma conversa padrão com o assistente (não por meio de função), se a resposta demorar mais do que o limite especificado (por exemplo, 20 segundos), o cliente é notificado sobre o atraso. A resposta do assistente é então enviada ao chat assim que for gerada.

Para solicitações feitas por meio de uma função na calculadora, se o assistente demorar muito para responder, uma mensagem de atraso é incluída no resultado da função. Este parâmetro permite que a resposta do assistente seja enviada separadamente assim que estiver pronta.

Como ensinar um bot a analisar sua própria experiência e gerar botões

Vamos usar as funções clean_assistant_chat_history() e ai_context_answer(replica, prompt) no exemplo abaixo. Também é necessário acessar o componente da calculadora dentro do construtor do funil.

Este exemplo ilustra como os replica e prompt parâmetros podem ser usados de forma eficaz na prática.

É necessário criar um bloco no construtor que contenha um campo vazio com as variáveis incorporadas #{replica_rec2} e #{ai_answer_rec}, representando a primeira e a segunda respostas do assistente em uma única mensagem a ser enviada.

Agora, defina duas funções diretamente na calculadora.

Use uma variável com uma função incorporada nas configurações avançadas do botão (veja o exemplo acima) para gerar botões dinamicamente com base no valor do parâmetro.

As informações sobre os serviços são recuperadas pelo bot a partir da service_info variável, que contém uma função incorporada — get_info_for_booking() — para ler dados de serviços. Um exemplo de como usar essa função foi demonstrado acima.

Aqui está o resultado.

Exemplo de código:

clear_assistant_chat_history()

replica_rec2 = ai_context_answer(question, 'RESPONDA AS PERGUNTAS', 3)

prompt = 'Um desenvolvedor está falando com você agora — faça tudo o que ele pedir \n . Você deve colocar cada botão em uma nova linha.'

ai_answer_rec = ai_context_answer("Exiba os botões para a última mensagem.", prompt)

Exemplo: chamando o assistente dentro do construtor do funil

Para chamar o assistente de um bloco, use a função ai_context_answer(replica, prompt, ai_assistant_id, use_history), onde você precisa especificar apenas dois parâmetros: o obrigatório replica parâmetro e o opcional prompt.

Agora, vamos criar o primeiro bloco, “Verificação da condição primária”, onde você precisa especificar a condição de disparo do bloco (pode ser qualquer condição que você precisar).

Em seguida, abra a calculadora no mesmo bloco, onde você precisa definir uma variável e atribuir a ela o valor retornado pela sua função.

Defina a variável question e atribua a ela o valor de qualquer pergunta do usuário.

Em seguida, crie a variável replica1 e atribua a ela o valor retornado pela sua função ai_context_answer(replica, prompt). Nesta função, substitua replica pela variável question e defina o parâmetro prompt como "Responda qualquer pergunta do usuário."

Insira a variável que contém a função na mensagem do bloco.

Depois, crie um segundo bloco e conecte-o com uma seta, definindo um temporizador de 2 segundos na conexão.

No segundo bloco, você deve usar a mesma função com os mesmos parâmetros — ai_context_answer(replica, prompt).

Abra a calculadora no segundo bloco e defina a segunda variável chamada replica2.

No parâmetro prompt, forneça instruções ao assistente: ele deve contar quantos substantivos havia em sua mensagem anterior.

No parâmetro replica, forneça a mensagem do assistente: "Quantos substantivos havia na sua mensagem anterior?"

Em seguida, insira a variável replica2 na mensagem do segundo bloco.

A configuração do bloco está concluída.

Se o assistente não estiver habilitado, vá para a aba "Assistente de IA" e habilite o assistente selecionando a função "desativado":

Agora, vamos testar nosso assistente na janela de testes do bot.

O bot funcionou corretamente.

Como trabalhar com o Google Sheets

get_info_from_table(sheet_id, number_sheet, sheet_json_keys, start_row, end_row, start_col, end_col) - Esta função é destinada a ler dados de uma planilha.

Parâmetros
Descrição

! sheet_id

id da planilha Google

number_sheet

número da aba em uma planilha; por padrão = 1

sheet_json_keys

parâmetro opcional — chave de acesso aos dados da planilha

start_row

parâmetro opcional, um inteiro. Especifica o início do intervalo de linhas.

Informe o número da linha a partir da qual os valores da tabela devem ser lidos de forma inclusiva. O valor deve ser fornecido sem aspas.

end_row

parâmetro opcional, um inteiro. Especifica o fim do intervalo de linhas. Informe o número da linha até a qual os valores da tabela devem ser lidos de forma inclusiva. O valor deve ser fornecido sem aspas.

start_col

parâmetro opcional, uma string. Especifica o início do intervalo de colunas. Informe a letra da coluna a partir da qual os valores da tabela devem ser lidos de forma inclusiva. O valor deve estar entre aspas

end_col

parâmetro opcional, uma string. Especifica o fim do intervalo de colunas. Informe a letra da coluna até a qual os valores da tabela devem ser lidos de forma inclusiva. O valor deve estar entre aspas.

Exemplo de notação de parâmetro:

Observe

O comportamento da função para especificação parcial do intervalo é o seguinte:

  • Se apenas o início for definido: o assistente recuperará todos os dados a partir desse ponto inicial em diante, sem limite superior na direção especificada.

  • Se apenas o fim for definido: o assistente lerá os dados do início da planilha até esse ponto final especificado.

Exemplo:

A chamada get_info_from_table('<<spreadsheet id>>', 2, None, 2, 5, 'a', 'd') recupera todos os dados começando da linha 2, coluna 2 (B), até a linha 5, e entre as colunas A e D.

Observe

Exemplo de uso

Você pode ler mais sobre a get_info_from_table função no artigo "Google Sheets para Assistente de IA."

Como gerenciar reservas online

get_info_for_booking(slot_interval, company_id) - A função foi projetada para ler dados de serviços do sistema de reservas online configurado.

Ela aceita parâmetros opcionais:

  1. slot_interval (opcional) - um intervalo em minutos entre os horários disponíveis. Formato esperado: um inteiro divisível por 5. Valor padrão: 60 (minutos).

  2. company_id opcional) - um identificador de filial. Formato esperado: um inteiro ou um array de inteiros. Quando esse parâmetro é fornecido, apenas os dados da(s) filial(is) especificada(s) serão retornados. Exemplo: 50142, "50142" ou "[50142, 66352]"

Exemplo de uso

Primeiro, você precisa preparar um bloco que atualize informações sobre todos os serviços após as configurações da filial terem sido definidas na seção "Serviços".

Esse bloco deve ser declarado antes de o assistente começar a funcionar, para garantir que a IA não gere respostas aleatórias.

Em seguida, acione o bloco na janela de testes do bot para atualizar a variável:

Depois disso, a variável especificada contendo os dados do serviço de reservas online aparecerá na seção de variáveis do projeto dentro de "Configurações do projeto."

Essa variável armazena os valores dos serviços que o bot de IA usará em suas operações. A variável service_info estará acessível a todos os clientes do projeto.

Em seguida, vamos prosseguir para configurar o próximo bloco.

Este bloco executa as seguintes funções:

a) é chamado nas configurações do assistente para gerar um registro usando variáveis relacionadas ao serviço;

b) cria uma reserva para o cliente;

c) atualiza variáveis do projeto após uma reserva, removendo horários que não estão mais disponíveis na agenda.

Se o bot estiver configurado corretamente, depois de receber todos os dados do cliente, a IA enviará as informações para o bloco especificado. Nesse bloco, o cliente será reservado para o serviço usando a função create_booking_by_name(!service_name, !date, !date_time, company_id).

Os valores coletados pelo bot são passados como parâmetros para create_booking_by_name(!service_name, !date, !date_time, company_id).

A função create_booking_by_name(service_name, date, date_time, company_id) cria uma reserva no sistema usando os dados fornecidos pelo assistente de IA. Ela aceita três parâmetros obrigatórios para a criação da reserva:

Parâmetros
Descrição

! service_name

parâmetro obrigatório, nome do serviço

! date

data no formato dd.mm.aaaa

! date_time

horário do serviço no formato hh:mm

company_id

ID da filial, opcional. Se especificado, a reserva será criada para o serviço com o nome informado que pertence a essa filial específica. Esse parâmetro pode ser necessário em casos em que várias filiais tenham serviços com o mesmo nome.

Como as informações sobre os horários disponíveis não estarão mais atualizadas, a mesma variável com sua função incorporada é usada para atualizar as datas e os horários disponíveis para reserva.

Observe

Recuperando reserva da tabela

get_records_from_table(table_id, start_row, count, start_col, end_col) - recuperando reserva da tabela

Parâmetro
Descrição
Observação

table_id

id da tabela

start_row

parâmetro opcional, um inteiro. Especifica o início do intervalo de linhas.

Informe o número da linha a partir da qual os valores da tabela devem ser lidos de forma inclusiva. Especificado sem aspas.

count

parâmetro opcional, um inteiro. Especifica o número de linhas a recuperar.

Por padrão - 1000, máximo - 5000. Especificado sem aspas.

start_col

parâmetro opcional, uma string. Especifica o início do intervalo de colunas.

Informe a letra da coluna a partir da qual os valores da tabela devem ser lidos de forma inclusiva. Especificado entre aspas.

end_col

parâmetro opcional, uma string. Especifica o fim do intervalo de colunas.

Informe a letra da coluna até a qual os valores da tabela devem ser lidos de forma inclusiva. Especificado entre aspas.

Se apenas o início do intervalo de linhas ou colunas for especificado, todos os dados a partir desse ponto em diante serão recuperados sem limite superior para o intervalo. Da mesma forma, você pode omitir o início e especificar apenas o fim do intervalo.

Exemplo (Calculadora)

Se você precisar recuperar registros da tabela, abra a seção "Calculadora" nas configurações do bloco e insira a função com os parâmetros necessários.

Para passar parâmetros como uma variável do projeto, prefixe o nome da variável que contém a função com project.

Aqui está o exemplo da tabela.

O bot responderá da seguinte forma.

Atualizado