A Resposta inteligente segue uma conversa entre um agente humano e um usuário final e mostra respostas sugeridas para o agente humano. As respostas sugeridas são calculadas por um modelo personalizado que foi treinado com seus próprios dados de conversa.
Este documento explica o processo de uso da API para implementar a Resposta inteligente e receber sugestões desse recurso. Se preferir, você pode usar o console do Assistente do agente para fazer upload dos seus dados, treinar um modelo e testar os resultados da Resposta inteligente durante o design. Para ver as sugestões da Resposta inteligente durante a execução, você precisa chamar a API diretamente. Consulte o tutorial da Resposta inteligente para saber como treinar um modelo e testar a performance dele usando o Console do Agent Assist.
O Agent Assist também fornece dados de conversação disponíveis publicamente, além de um modelo pré-treinado e uma lista de permissões. Use esses recursos para saber como a Resposta inteligente funciona ou teste sua integração antes de fazer o upload dos seus dados. Consulte a documentação do formato de dados de conversa para mais informações.
Antes de começar
Conclua as seguintes etapas antes de iniciar este guia:
- Crie um conjunto de dados de conversa usando seus próprios dados de transcrição.
- Treine um modelo de Resposta inteligente usando seus conjuntos de dados de conversa.
Informações de identificação pessoal e dados de crianças
Quando você envia dados para essa API, ela tenta encobrir todas as informações de identificação pessoal (PII). Se você precisar garantir que o modelo não inclua PII, limpe seus dados antes de enviar para a API. Substitua as palavras excluídas com marcadores de posição, como `REDACTED_NUMBER` ou `REDACTED_NAME`, em vez de simplesmente removê-las.
Além disso, se os dados contiverem informações coletadas de crianças, remova os dados das crianças antes de enviar para a API.
Treinar e implantar um modelo
Os modelos de Resposta inteligente do Agente Assist são treinados usando conjuntos de dados de conversa. Um conjunto de dados de conversa contém seus próprios dados de transcrição enviados. Esta seção orienta você no processo de criação de um conjunto de dados de conversa, upload dos dados de conversa, treinamento e implantação de um modelo. Também é possível realizar essas ações usando o console do Agente Assist se você preferir não chamar a API diretamente.
Criar um conjunto de dados de conversa
Antes de começar a fazer upload de transcrições de conversas, é necessário criar um conjunto de dados de conversa para armazená-las. Chame o método create
no recurso
ConversationDataset
para criar um conjunto de dados de conversa.
A resposta contém um ID de conjunto de dados de conversa.
Importar transcrições de conversas para o conjunto de dados
Faça upload dos dados de conversa do chat para que eles possam ser processados pelo Agent Assist.
Verifique se a transcrição de cada conversa está no
formato JSON
e armazenada em um
bucket do Cloud Storage.
Um conjunto de dados de conversa precisa conter pelo menos 30.000 conversas. Caso contrário,
o treinamento de modelo vai falhar. Como regra geral, quanto mais conversas você tiver,
melhor será a qualidade do modelo. Recomendamos enviar pelo menos três meses
de conversas para cobrir o máximo possível de casos de uso. O
número máximo de mensagens em um conjunto de dados de conversa é 1.000.000.
Chame o método importConversationData
no recurso
ConversationDataset
para importar suas conversas.
Campos obrigatórios:
- O ID do conjunto de dados de conversa que você criou anteriormente.
- O caminho
inputConfig
leva aos dados da transcrição da conversa em um bucket do Cloud Storage.
A resposta é uma operação de longa duração, que pode ser pesquisada para verificar a conclusão.
Criar um modelo de conversa
Chame o método create
no recurso
ConversationModel
para criar um modelo de conversa. Essa ação também cria a lista de permissões do modelo.
Campos obrigatórios:
- Em
datasets
, forneça um único conjunto de dados usando o ID do conjunto de dados de conversa que você criou anteriormente. - Defina
smartReplyModelMetadata
como um objeto vazio ou preencha o campo para substituir o padrão.
A resposta é uma operação de longa duração, que pode ser pesquisada para verificar a conclusão. Depois de concluída, o ID do modelo e o ID da lista de permissões serão incluídos nos metadados da operação.
- ID do modelo:
name
- ID da lista de permissões:
smart_reply_model_metadata.associated_allowlist_info.document
Implantar o modelo de conversa
Chame o método deploy
no recurso
ConversationModel
para implantar o modelo de conversa.
Campo obrigatório:
- Use
conversationModels
: insira o ID do modelo de conversa que você criou anteriormente.
Gerenciar uma lista de permissões
Cada modelo tem uma lista de permissões associada a ele, que é criada automaticamente quando você cria um modelo de conversa. A lista de permissões contém todas as respostas, geradas a partir dos seus conjuntos de dados de conversa, que podem ser exibidas para um agente humano no momento da execução. Esta seção descreve a criação e o gerenciamento de listas de permissões. Também é possível realizar essas ações usando o console do Agente Assist se você preferir não chamar a API diretamente.
Exportar o conteúdo da lista de permissões para um arquivo CSV
A criação de modelos cria automaticamente uma lista de permissões associada ao novo modelo. A lista de permissões é um recurso de documento com um ID exclusivo. O ID é retornado
em smart_reply_model_metadata.associated_allowlist_info.document
quando um modelo
é criado. Para revisar e fazer alterações nas mensagens na lista de permissões,
exporte-a para um bucket do Cloud Storage.
Chame o método export
no recurso
Document
para exportar o documento para um arquivo CSV
em um bucket do Cloud Storage.
O campo smart_messaging_partial_update
é opcional, mas afeta a forma como você
vai atualizar essa lista de permissões
no futuro. Se definido como true
, o arquivo CSV
exportado vai incluir uma coluna
que contém um ID exclusivo para cada mensagem. É possível 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 extra
não vai aparecer no arquivo, e todas as atualizações na lista de permissões vão exigir uma
atualização de todo o documento.
Campo obrigatório:
- O caminho
gcsDestination
vai para o bucket do Cloud Storage.
A resposta é uma
operação de longa duração,
que pode ser pesquisada para verificar a conclusão. Em seguida, o arquivo CSV
que você
forneceu na solicitação é preenchido com candidatos de resposta.
Revisar a lista de permissões
A lista de permissões gerada contém respostas geradas automaticamente pelo
Resposta inteligente com base nos dados da sua conversa. Agora você pode revisar e atualizar essas
respostas conforme necessário. Faça o download do arquivo CSV
do bucket do Cloud Storage, edite-o de acordo com suas necessidades e faça upload dele de volta ao bucket do Cloud Storage. Somente
respostas na lista de permissões podem ser exibidas para agentes humanos.
Se você editar alguma resposta, recomendamos que edite apenas a ortografia e a gramática, sem mudar o significado da mensagem. Quanto mais o texto editado se desviar do significado no modelo, menor será a probabilidade de a mensagem ser exibida.
Também é possível criar novas mensagens, se necessário. Assim como as mensagens editadas, as mensagens criadas têm menos probabilidade de aparecer durante a execução.
Atualizar a lista de permissões
Depois de terminar de atualizar o arquivo CSV
, use-o para atualizar o
recurso Document
. Você pode atualizar a lista de permissões inteira ou apenas
mensagens específicas. Para atualizar apenas mensagens específicas, é necessário
definir smart_messaging_partial_update
como true
ao
exportar a lista de permissões.
Se você já fez isso, use a coluna gerada automaticamente no arquivo CSV
exportado para indicar as mensagens que serão atualizadas.
Chame o método reload
no recurso
Document
para atualizar a lista de permissões. Para atualizar apenas mensagens específicas, defina
smart_messaging_partial_update
como true
no ReloadDocumentRequest
. Para
atualizar a lista de permissões inteira, deixe smart_messaging_partial_update
indefinido ou defina
como false
.
Campos obrigatórios:
- O
gcsSource
é o caminho do Cloud Storage para o arquivoCSV
. - Para
name
, use o nome do recurso da lista de permissões gerado quando você criou um modelo de conversa.
Exemplo de solicitação:
{ "name":"projects/project-id/knowledgeBases/knowledge-base-id/documents/allowlist-id", "gcsSource" { "uri": "gs://revised_smart_reply_allowlist_path" } }
Avaliar a performance de um modelo treinado
É possível testar a performance de um modelo depois de implantar o modelo e criar uma lista de permissões para ele. Você também precisa fornecer um conjunto de dados de teste. As respostas geradas pelo modelo de Resposta inteligente treinado e a lista de permissões associada serão comparadas às mensagens reais do agente no conjunto de dados de teste. O conjunto de dados de teste precisa ser composto por dados de conversas reais, mas não pode conter nenhum dos dados do conjunto de dados de conversas que você usou para treinar o modelo. Por exemplo, considerando o tráfego de conversas de um mês, você pode usar os dados de três semanas para criar um conjunto de dados de conversas e os dados restantes de uma semana para criar o conjunto de dados de teste. Um conjunto de dados de teste precisa conter pelo menos 1.000 conversas, mas, como regra geral, as métricas de avaliação serão mais confiáveis com mais conversas no conjunto de dados de teste. O formato do conjunto de dados de teste é o mesmo do formato do conjunto de dados de conversa.
Para criar uma nova avaliação de modelo, chame o método CreateConversationModelEvaluation
em um recurso ConversationModel
. Esse método retorna uma operação
de longa duração. É possível consultar a operação para verificar o estado dela, que vai retornar
um dos valores INITIALIZING
, RUNNING
, SUCCEEDED
, CANCELLED
ou FAILED
.
Campos obrigatórios:
InputDataset
: o conjunto de dados de teste que será usado para testar o desempenho do modelo.allowlist_document
: a lista de permissões associada ao modelo de resposta inteligente a ser testado.
Um recurso ConversationModelEvaluation
é retornado quando a operação
de longa duração é concluída. Duas métricas são incluídas:
allowlist_coverage
: a porcentagem de mensagens de agentes no conjunto de dados de teste que são cobertas pela lista de permissões.recall
: a porcentagem de mensagens do agente no conjunto de dados de teste que estão na lista de permissões e aparecem nas três principais sugestões exibidas pelo modelo de Resposta inteligente.
Configurar 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. As etapas a seguir criam um
ConversationProfile
com um
objeto
HumanAgentAssistantConfig
. Também é possível realizar essas ações usando o
console do Agente Assist se você preferir
não chamar a API diretamente.
Criar um perfil de conversa
Para criar um perfil de conversa,
chame o método create
no recurso
ConversationProfile
.
Informe o ID da base de conhecimento, do documento, do ID do projeto e do modelo.
{ "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 você defina o
valor SuggestionFeatureConfig.enable_inline_suggestion
.
Se esse valor for verdadeiro, as chamadas posteriores para AnalyzeContent
vão resultar em respostas com uma lista de sugestões.
A resposta contém o ID do novo perfil de conversa.
Consulte Resposta inteligente generativa para instruções sobre como configurar um perfil de conversa, processar conversas no momento da execução, testar os resultados e enviar feedback para o Assistente de agentes.