Configurar o atendimento para agentes de IA com script
No contexto dos agentes de IA, o cumprimento se refere à execução de tarefas que envolvem a interação com sistemas externos para recuperar, manipular ou armazenar dados por meio de APIs. Este artigo descreve o exemplo de agente criado para rastrear pacotes. Você pode usar esse modelo de agente ao criar um novo agente de IA para interações digitais e de voz.
Para canais digitais, o atendimento deve ser orquestrado por meio do fluxo de conexão usado para implantar o agente de IA. Tomando o exemplo de um agente de rastreamento de pacotes, que você pode importar de um modelo ao criar um novo agente com script, o fluxo também está disponível para importação ao criar um novo Webex Connect fluxo. Além do atendimento, esse fluxo de conexão também encaminha o usuário para diferentes filas de agentes com base em sua última intenção.
-
Depois de terminar de configurar seu agente com script, identifique as respostas que precisam ser atendidas.
No agente de exemplo, o preenchimento é obrigatório para 'trackPackageResponse'.
-
Nesses modelos, configure uma “resposta de espera” que será exibida para o usuário enquanto o atendimento ocorrer.
Neste exemplo, uma resposta de retenção é configurada para 'trackPackageResponse'.
-
No fluxo, use um nó do Data Parser para analisar os metadados da sessão do agente ( variável de saída) da resposta do agente de IA para obter o nome da resposta.
Você pode obter a amostra de entrada para o nó do analisador de dados baixando as informações da transação das sessões, selecionando a transação apropriada e escolhendo o valor da chave 'generatedDF' do arquivo baixado.
-
Se quiser fazer o roteamento baseado em intenção no momento da entrega do agente, você pode obter o valor da intenção ativa anterior na mesma etapa.
-
Se você não quiser baixar e analisar o exemplo de JSON, você pode usar
\$.model_state.template_keypara o nome da resposta e\$.previous_intent_model_state.intent.namepara o nome da intenção anterior.Em nosso exemplo, usamos as variáveis de fluxo 'responseKey' e 'previousIntent' para esses valores.
-
Use um nó de ramificação para verificar se uma resposta precisa ser cumprida.
-
O nó da ramificação sai pelo resultado do nó “Nenhuma das opções acima” para respostas que não exigem atendimento.
-
Em nosso exemplo, como há uma necessidade de preenchimento para 'trackPackageResponse', verifique o valor de 'responseKey' em nosso nó de ramificação.
-
-
Para respostas que exigem atendimento, use um nó HTTP para fazer chamadas de API externas.
-
Você pode analisar informações úteis da resposta do nó HTTP no mesmo nó importando uma amostra e obtendo variáveis de saída.
-
Neste exemplo, obtemos 'EstimatedDelivery' e 'status' do pacote.
-
-
Processe a resposta de atendimento usando um nó de avaliação para formular a resposta do agente .
Em nosso exemplo, inicializamos a variável 'FulfilmentResp' e definimos seu valor com base no status do pacote e na estimativa de entrega.
-
Envie a resposta de atendimento ao usuário e anexe-a à conversa.
-
Volte para o nó de recebimento para manter a conversa entre o usuário e o agente de IA.
Entrega de agentes com base em intenção
No momento da transferência do agente, verifique a última intenção ativa por meio de um nó Branch antes do nó da tarefa Queue.
Verifique o valor de 'previousIntent' e ramifique para filas diferentes com base em seus requisitos. Neste exemplo, se o cliente solicitar a entrega de um agente após a intenção de “Rastrear pacote”, encaminhe-o para a fila “Especialista”. Todos os outros valores levam à transferência para a fila 'Chat'.
Para canais de voz, o atendimento deve ser orquestrado devolvendo o controle da conversa ao fluxo de voz por meio de eventos personalizados e, posteriormente, retomando a conversa do agente de IA com os dados de atendimento. Para esse fim, o exemplo de agente com script para rastrear pacotes é reutilizado. O fluxo está disponível em “Importar de modelos” no Designer de fluxo do Webex Contact Center. Além do atendimento, esse fluxo também encaminha o usuário para diferentes filas de agentes com base em sua última intenção.
Guia passo a passo: Cumprimento
-
Adicione o tipo de resposta “Evento personalizado”.
-
Localize a chave do modelo para a qual você deseja adicionar o evento personalizado. Nesse caso, use a chave de modelo 'trackPackageResponse'.
-
Adicione o tipo de resposta “evento personalizado” à chave do modelo.
-
-
Configure a resposta do evento personalizado.
-
Adicionar nome do evento e carga útil do evento:
-
Para a resposta personalizada do evento, forneça um nome de evento. Nesse caso, 'TrackPack_Exit'.
-
Adicione a carga útil do evento, que contém dados que serão passados para o fluxo. Isso deve estar no formato JSON. Neste exemplo,
{"PackageNumber":"${entity.PackageNum}"}.
-
-
-
Use a carga útil do evento no fluxo.
- Acesse os metadados de atividade do Virtual Agent V2:
Na sua configuração de fluxo de voz, a carga útil do evento que você adicionou está disponível como parte dos metadados da atividade do Virtual Agent V2.
Crie a variável de fluxo packagEnum.
Use uma atividade Parse para selecionar seus metadados de atividade do Virtual Agent V2 como a variável de entrada.
Defina a variável de saída como 'packagEnum' e sua expressão de caminho como '$.packagEnum ' (com base na estrutura da carga útil do evento configurada na resposta do agente).
- Use os metadados na atividade HTTP:
Use a variável 'packagEnum' dos metadados processados em seu fluxo para rastrear o pacote.
Importe o fluxo anexado para encontrar os detalhes da atividade HTTP.
Defina as variáveis de fluxo 'EstimatedDelivery' e defina-as como '$. estimated_delivery'e outra variável de fluxo' packStatus 'e defina-a como $.status.
- Adicione condições com base na atividade HTTP:
Adicione uma nova atividade Condition ao fluxo. Essa atividade é usada para verificar a resposta da atividade HTTP (se o pacote existe e seu status).
Neste exemplo, a expressão
{{ HTTPRequest_8l3.httpStatusCode == 404 }}é usada para verificar se nenhum pacote foi encontrado.
- Acesse os metadados de atividade do Virtual Agent V2:
- Adicione a atividade Set Variable com base nas condições:
Para a condição para a qual o pacote não existe:
- Na ramificação em que nenhum pacote foi encontrado, adicione uma atividade Set Variable.
- Defina o PackageResp (outra variável de fluxo) para:
Nenhum pacote encontrado com esses detalhes.
Para a condição para a qual o pacote existe:
- Na ramificação em que um pacote foi encontrado (ou seja, o código de status HTTP não é igual a 404), adicione outra atividade Set Variable.
Defina o PackageResp (outra variável de fluxo) para:
Seu pacote foi retirado. Ele será entregue até {{EstimatedDelivery}}.
Adicione mais duas atividades Set variable para configurar o nome do evento e os dados do evento. Esses dados serão passados para a atividade do Virtual Agent V2.
Crie variáveis de fluxo event_name event_data e.
event_nameDefina como TrackPack_Entry e event_data como {'packageResp': '{{packageResp}}' | json}.
-
Volte para a atividade do Virtual Agent V2:
- Configure a atividade do Virtual Agent V2:
Conecte a atividade final do Set Variable à atividade do Virtual Agent V2 .
Defina o nome do evento como {{event_name}}.
Defina os dados do evento como {{event_data}}.
- Configure a atividade do Virtual Agent V2:
-
Gerencie eventos recebidos em seu agente virtual:
-
Adicione uma nova chave de modelo:
-
Vá até a guia Respostas no painel esquerdo.
-
Adicione uma nova chave de modelo chamada packageStatus.
-
-
Configurar evento de entrada:
-
No canal de voz, defina o evento de entrada como TrackPack_Entry (ou o que foi enviado para a atividade do Virtual Agent V2 no fluxo).
-
-
Configure a resposta:
-
Defina a resposta para: <speak><say-as interpret-as="date"> $ {eventstore.packageResp</say-as>}. Posso te ajudar com mais alguma coisa? </speak>
Essa resposta usa as variáveis enviadas no payload do fluxo. Todas as variáveis enviadas como parte dos dados do evento estão disponíveis para os desenvolvedores acessarem como $ {eventStore. < variable_name >}.
Isso também usa tags SSML. Em particular, a tag SSML permite controlar como o texto é interpretado e falado por um mecanismo de conversão de texto em fala. Essa tag pode ser usada para especificar como números, datas, horas, endereços e outros textos devem ser pronunciados. Aqui nós o usamos para namorar.
-
-
Roteamento de agentes com base na intenção anterior
-
Se a atividade do Virtual Agent V2 sair pela saída 'Escalada', use uma atividade Parse para obter a intenção anterior dos metadados do agente.
-
Use uma atividade Case para verificar valores diferentes da intenção anterior que determinam a lógica do enfileiramento. Neste exemplo, verificamos se a intenção anterior era “Rastrear pacote”.
-
Anexe as saídas da atividade Case às bordas de contato apropriadas da fila.