A conclusão da Configuração para agentes de IA com script
No contexto de 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 agente de exemplo criado para rastrear pacotes. Você pode usar este 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 como exemplo 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 fluxo Webex Connect. 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 atendimento é necessário para 'trackPackageResponse'.
-
Nesses modelos, configure uma "resposta de espera" que será exibida ao usuário enquanto o atendimento ocorre.
Neste exemplo, uma resposta de espera é configurada para 'trackPackageResponse'.
-
No fluxo, use um nó Analisador de Dados 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 entrada de amostra para o nó do analisador de dados baixando informações de transação das sessões, selecionando a transação apropriada e escolhendo o valor da chave 'generatedDf' do arquivo baixado.
-
Se desejar fazer o roteamento baseado em intenção no momento da transferência do agente, você poderá obter o valor da intenção ativa anterior na mesma etapa.
-
Se não desejar baixar e analisar o JSON de exemplo, você pode usar
\$.model_state.template_key
para o nome da resposta e\$.previous_intent_model_state.intent.name
para o nome da intenção anterior.Em nosso exemplo, usamos as variáveis de fluxo 'responseKey' e 'previousIntent' para esses valores.
-
Use um nó Branch para verificar se uma resposta precisa ser atendida.
-
O nó de ramificação sai através do resultado do nó 'Nenhuma das opções acima' para respostas que não exigem atendimento.
-
Em nosso exemplo, como há uma necessidade de atendimento para 'trackPackageResponse', verifique o valor de 'responseKey' em nosso nó de ramificação.
-
-
Para respostas que exigem cumprimento, use um nó HTTP para fazer chamadas externas API.
-
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ó Avaliar 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 entrega estimada.
-
Envie a resposta de atendimento ao usuário e anexe-a à conversa.
-
Retorne ao nó Receber para manter a conversa entre o usuário e o agente de IA.
Transferência de agente baseada 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ó Queue task .
Verifique o valor de 'previousIntent' e ramifique para filas diferentes com base em suas necessidades. Neste exemplo, se o cliente solicitar a transferência de um agente após a intenção "Rastrear pacote", encaminhe-o para a fila "Especialista". Todos os outros valores levam a uma transferência para a fila de 'Bate-papo'.
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 propósito, o agente de script de exemplo para rastreamento de pacotes é reutilizado. O fluxo está disponível em "Importar de modelos" no Designer de fluxo 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: Atendimento
-
Adicione o tipo de resposta 'Evento personalizado'.
-
Localize a chave de 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 de evento personalizada, forneça um nome de evento. Neste caso, "TrackPack_Exit".
-
Adicione a carga útil do evento, que contém dados que serão passados ao fluxo. Isso deve estar no formato JSON. Neste exemplo,
{"PackageNumber":"${entity.PackageNum}"}
.
-
-
-
Use o Event Payload no fluxo.
- Acessar Agente Virtual V2 Metadados de Atividade:
Na sua configuração de fluxo de voz, a carga útil do evento que você adicionou está disponível como parte dos metadados de atividade do Agente Virtual V2 .
Crie a variável de fluxo PackageNum.
Use um Analisar atividade para selecionar seu Agente Virtual V2 metadados de atividade como 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 em HTTP atividade:
Use a variável 'PackageNum' dos metadados processados no seu fluxo para rastrear o pacote.
Importe o fluxo anexado para encontrar os detalhes do HTTP atividade.
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.
- Adicionar condições com base em HTTP atividade:
Adicionar um novo Doença atividade ao fluxo. Esta atividade é usada para verificar a resposta do HTTP atividade (se o pacote existe e seu status).
Neste exemplo, a expressão
{{ HTTPRequest_8l3.httpStatusCode == 404 }}
é usado para verificar se nenhum pacote foi encontrado.
- Acessar Agente Virtual V2 Metadados de Atividade:
- Adicionar Definir variável atividade baseada em condições:
Para a condição em que o pacote não existe:
- Abaixo do ramo onde nenhum pacote foi encontrado, adicione um Definir variável atividade.
- Defina o packageResp (outra variável de fluxo) como:
Nenhum pacote encontrado com esses detalhes.
Para a condição para a qual o pacote existe:
- No ramo onde um pacote é encontrado (ou seja, código de status HTTP diferente de 404), adicione outro Definir variável atividade.
Defina o packageResp (outra variável de fluxo) como:
Seu pacote foi retirado. A entrega será feita até {{estimatedDelivery}}.
Adicione mais duas atividades Definir variáveis para configurar o nome do evento e os dados do evento. Esses dados serão passados para a atividade do Agente Virtual V2.
Crie variáveis de fluxo event_name e event_data.
Defina event_name como TrackPack_Entry e event_data como {'packageResp': '{{packageResp}}' | json}.
-
Faça um loop de volta para o Agente Virtual V2 atividade:
- Configure a atividade do Agente Virtual V2:
Conecte o final Definir variável atividade para a atividade do Agente Virtual V2.
Defina o nome do evento como {{event_name}}.
Defina os dados do evento como {{event_data}}.
- Configure a atividade do Agente Virtual V2:
-
Manipule eventos de entrada no seu agente virtual:
-
Adicionar uma nova chave de modelo:
-
Vá para Respostas Tab 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).
-
-
Configurar a resposta:
-
Defina a resposta como: <speak><say-as interpret-as="date"> ${eventStore.packageResp} </say-as>. Posso ajudar você com mais alguma coisa?
Esta resposta usa as variáveis enviadas na carga útil do fluxo. Quaisquer 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 que você controle como o texto é interpretado e falado por um mecanismo de conversão de texto em fala. Esta tag pode ser usada para especificar como números, datas, horas, endereços e outros textos devem ser pronunciados. Aqui usamos para data.
-
-
Roteamento de agente com base na intenção anterior
-
Se o Agente Virtual V2 saídas de atividade através da saída 'Escalada', use um Analisar atividade para obter a intenção anterior dos metadados do agente.
-
Use uma atividade Case para verificar se há valores diferentes da intenção anterior que determinam a lógica de enfileiramento. Neste exemplo, verificamos se a intenção anterior era 'Rastrear pacote'.
-
Anexe as saídas da atividade Case às bordas de contato da fila apropriadas.