Resposta inteligente

A Resposta inteligente segue uma conversa entre um agente humano e um utilizador final e apresenta respostas sugeridas ao agente humano. As respostas sugeridas são calculadas por um modelo personalizado que foi preparado com os seus próprios dados de conversas.

Este documento explica o processo de utilização da API para implementar a Resposta inteligente e receber sugestões desta funcionalidade. Se preferir, tem a opção de usar a consola do Agent Assist para carregar os seus dados, formar um modelo e testar os resultados da Resposta inteligente durante o tempo de conceção. Para ver sugestões da Resposta inteligente durante a execução, tem de chamar a API diretamente. Consulte o tutorial da Resposta inteligente para ver detalhes sobre como formar um modelo e testar o respetivo desempenho através da consola do Agent Assist.

O Agent Assist também fornece dados de conversas disponíveis publicamente, bem como um modelo pré-preparado e uma lista de autorizações. Pode usar estes recursos para ver como funciona a Resposta Inteligente ou testar a sua integração antes de carregar os seus próprios dados. Consulte a documentação sobre o formato de dados de conversas para mais informações.

Antes de começar

Conclua o seguinte antes de começar este guia:

  1. Crie um conjunto de dados de conversas com os seus próprios dados de transcrição.
  2. Forme um modelo de Resposta inteligente com os seus conjuntos de dados de conversas.

Informações de identificação pessoal e dados de crianças

Quando envia dados para esta API, a API tenta ocultar todas as informações de identificação pessoal (PII). Se precisar de garantir que o modelo não inclui PII, deve limpar os seus dados antes de os enviar para a API. Substitua as palavras ocultadas por marcadores de posição, como `REDACTED_NUMBER` ou `REDACTED_NAME`, em vez de as remover simplesmente.

Além disso, se os seus dados contiverem informações recolhidas de crianças, deve remover os dados das crianças antes de os enviar para a API.

Prepare e implemente um modelo

Os modelos de Resposta inteligente do Agent Assist são preparados com conjuntos de dados de conversas. Um conjunto de dados de conversas contém os seus próprios dados de transcrição carregados. Esta secção explica o processo de criação de um conjunto de dados de conversas, carregamento dos dados de conversas para o mesmo e preparação e implementação de um modelo. Também pode realizar estas ações através da consola do Assistente do agente se preferir não chamar a API diretamente.

Crie um conjunto de dados de conversas

Antes de poder começar a carregar transcrições de conversas, tem de criar primeiro um conjunto de dados de conversas para as colocar. Chame o método create no recurso ConversationDataset para criar um conjunto de dados de conversas.

A resposta contém um ID do conjunto de dados de conversas.

Importe transcrições de conversas para o conjunto de dados de conversas

Carregue os dados da conversa de chat para o conjunto de dados de conversas para que possam ser processados pelo Agent Assist. Certifique-se de que a transcrição de cada conversa está no formato JSON e armazenada num contentor do Cloud Storage. Um conjunto de dados de conversas tem de conter, pelo menos, 30 000 conversas. Caso contrário, a preparação do modelo falha. Como regra geral, quanto mais conversas tiver, melhor será a qualidade do modelo. Recomendamos que carregue, pelo menos, 3 meses de conversas para abranger o maior número possível de exemplos de utilização. O número máximo de mensagens num conjunto de dados de conversas é 1 000 000.

Chame o método importConversationData no recurso ConversationDataset para importar as suas conversas.

Campos obrigatórios:

  • O ID do conjunto de dados de conversões que criou anteriormente.
  • O caminho inputConfig direciona para os dados da transcrição da conversa num contentor do Cloud Storage.

A resposta é uma operação de longa duração, que pode sondar para verificar a conclusão.

Crie um modelo de conversa

Chame o método create no recurso ConversationModel para criar um modelo de conversa. Esta ação também cria a lista de autorizações do modelo.

Campos obrigatórios:

  • Em datasets, forneça um único conjunto de dados com o ID do conjunto de dados de conversas que criou anteriormente.
  • Defina smartReplyModelMetadata como um objeto vazio ou preencha o campo para substituir o valor predefinido.

A resposta é uma operação de longa duração, que pode sondar para verificar a conclusão. Após a conclusão, o ID do modelo e o ID da lista de autorizações são incluídos nos metadados da operação.

  • ID do modelo: name
  • ID da lista de autorizações: smart_reply_model_metadata.associated_allowlist_info.document

Implemente o modelo de conversa

Chame o método deploy no recurso ConversationModel para implementar o modelo de conversa.

Campo obrigatório:

  • Usar conversationModels: introduza o ID do modelo de conversa que criou anteriormente.

Faça a gestão de uma lista de autorizações

Cada modelo tem uma lista de autorizações associada, que é criada automaticamente quando cria um modelo de conversa. A lista de autorizações contém todas as respostas geradas a partir dos seus conjuntos de dados de conversas que podem ser apresentadas a um agente humano no tempo de execução. Esta secção descreve a criação e a gestão de listas de autorizações. Também pode realizar estas ações através da consola do Agent Assist se preferir não chamar a API diretamente.

Exporte o conteúdo da lista de autorizações para um ficheiro CSV

A criação de modelos cria automaticamente uma lista de autorizações associada ao novo modelo. A lista de autorizações é um recurso Document com um ID exclusivo. O ID é devolvido em smart_reply_model_metadata.associated_allowlist_info.document quando um modelo é criado. Para rever e fazer alterações às mensagens na lista de autorizações, tem de exportá-la para um contentor do Cloud Storage.

Chame o método export no recurso Document para exportar o documento para um ficheiro CSV num contentor do Cloud Storage. O campo smart_messaging_partial_update é opcional, mas afeta a forma como vai poder atualizar esta lista de autorizações no futuro. Se estiver definido como true, o ficheiro CSV exportado inclui uma coluna que contém um ID exclusivo para cada mensagem. Pode usar o ID da mensagem para atualizar apenas mensagens específicas em vez de todo o documento. Se smart_messaging_partial_update estiver definido como false ou não estiver definido, a coluna adicional não aparece no ficheiro e quaisquer atualizações à lista de autorizações requerem uma atualização de todo o documento.

Campo obrigatório:

  • O caminho gcsDestination vai para o seu contentor do Cloud Storage.

A resposta é uma operação de longa duração, que pode sondar para verificar a conclusão. Posteriormente, o ficheiro CSV que forneceu no pedido é preenchido com candidatos de resposta.

Reveja a lista de autorizações

A lista de autorizações gerada contém respostas que foram geradas automaticamente pela funcionalidade Resposta inteligente com base nos seus dados de conversas. Agora, pode rever e atualizar essas respostas conforme necessário. Transfira o ficheiro CSV do seu contentor do Cloud Storage, edite-o de acordo com as suas necessidades e carregue-o novamente para o contentor do Cloud Storage. Apenas as respostas na lista de autorizações podem ser apresentadas a agentes humanos.

Se editar alguma resposta, recomendamos que o faça apenas para corrigir a ortografia e a gramática, e não altere o significado da mensagem. Quanto mais o texto editado se desviar do significado no modelo, menor é a probabilidade de a mensagem ser apresentada.

Também pode criar novas mensagens, se necessário. À semelhança das mensagens editadas, é menos provável que as mensagens criadas sejam apresentadas durante a execução.

Atualize a lista de autorizações

Depois de terminar a atualização do ficheiro CSV, pode usá-lo para atualizar o recurso Document. Pode optar por atualizar toda a lista de autorizações ou apenas mensagens específicas. Para atualizar apenas mensagens específicas, tem de ter definido smart_messaging_partial_update como true quando exportou a lista de autorizações. Se já o fez, use a coluna gerada automaticamente no ficheiro CSV exportado para indicar as mensagens a atualizar.

Chame o método reload no recurso Document para atualizar a lista de autorizações. Para atualizar apenas mensagens específicas, defina smart_messaging_partial_update como true no ReloadDocumentRequest. Para atualizar toda a lista de autorizações, deixe smart_messaging_partial_update não definido ou defina como false.

Campos obrigatórios:

  • O elemento gcsSource é o caminho do Cloud Storage para o ficheiro CSV.
  • Para name, use o nome do recurso da lista de autorizações gerado quando criou um modelo de conversa.

Exemplo de pedido:

{
  "name":"projects/project-id/knowledgeBases/knowledge-base-id/documents/allowlist-id",
  "gcsSource" {
      "uri": "gs://revised_smart_reply_allowlist_path"
   }
}

Avalie o desempenho de um modelo preparado

Pode testar o desempenho de um modelo depois de o implementar e criar uma lista de autorizações para o mesmo. Também tem de fornecer um conjunto de dados de teste. As respostas geradas pelo modelo de Resposta inteligente com formação e a respetiva lista de autorizações associada são comparadas com as mensagens reais dos agentes no conjunto de dados de teste. O conjunto de dados de teste deve ser composto por dados de conversas do mundo real, mas não pode conter nenhum dos dados no conjunto de dados de conversas que usou para treinar o modelo. Por exemplo, com 1 mês de tráfego de conversas, pode usar 3 semanas de dados de conversas para criar um conjunto de dados de conversas e os dados da semana restante para criar o conjunto de dados de teste. Um conjunto de dados de teste deve conter um mínimo de 1000 conversões, mas, como regra geral, as métricas de avaliação são mais fiáveis com mais conversões no conjunto de dados de teste. O formato do conjunto de dados de teste é igual ao formato do conjunto de dados de conversas.

Para criar uma nova avaliação do modelo, chame o método CreateConversationModelEvaluation num recurso ConversationModel. Este método devolve uma operação de execução prolongada. Pode sondar a operação para verificar o respetivo estado, que devolve um dos seguintes valores: INITIALIZING, RUNNING, SUCCEEDED, CANCELLED, FAILED.

Campos obrigatórios:

  • InputDataset: o conjunto de dados de teste que vai ser usado para testar o desempenho do modelo.
  • allowlist_document: a lista de autorizações associada ao modelo de Resposta inteligente a testar.

É devolvido um recurso ConversationModelEvaluation quando a operação de longa duração estiver concluída. Estão incluídas duas métricas:

  • allowlist_coverage: a percentagem de mensagens de agentes no conjunto de dados de teste que são abrangidas pela lista de autorizações.
  • recall: a percentagem de mensagens do agente no conjunto de dados de teste que estão contidas na lista de autorizações e aparecem nas 3 principais sugestões apresentadas pelo modelo de Resposta inteligente.

Configure um perfil de conversa

Um perfil de conversa configura um conjunto de parâmetros que controlam as sugestões feitas a um agente durante uma conversa. Os passos seguintes criam um ConversationProfile com um objeto HumanAgentAssistantConfig. Também pode realizar estas ações através da consola do Agent Assist se preferir não chamar a API diretamente.

Crie um perfil de conversa

Para criar um perfil de conversa, chame o método create no recurso ConversationProfile. Indique o ID da base de conhecimentos, o ID do documento, o ID do projeto e o ID do modelo.

Segue-se um exemplo de JSON:
{
  "displayName":"smart_reply_assist",
  "humanAgentAssistantConfig":{
    "humanAgentSuggestionConfig":{
      "featureConfigs":[
        {
          "suggestionFeature": { "type":"SMART_REPLY" },
          "queryConfig": {
            "documentQuerySource":{
              "documents": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents/DOCUMENT_ID"]
              },
                "maxResults": 3
              },
            }
          },
          "conversationModelConfig":{
            "model": "projects/PROJECT_ID/conversationModels/MODEL_ID"
          }
        }
      ]
    }
  }
}

Recomendamos que defina o valor SuggestionFeatureConfig.enable_inline_suggestion. Se este valor for verdadeiro, as chamadas posteriores a AnalyzeContent resultam em respostas com uma lista de sugestões.

A resposta contém o novo ID do perfil de conversa.

Consulte o artigo Resposta inteligente generativa para obter instruções sobre como configurar um perfil de conversa, processar conversas em tempo de execução, testar os resultados e enviar feedback ao Agent Assist.