Filtros da Assistência de conhecimento

Os filtros ajudam a restringir uma pesquisa e garantem que o gerador de assistência de conhecimento produza sugestões úteis. Filtre documentos em um datastore para especificar uma categoria de documentos para referência na assistência de conhecimento generativo (GKA) e na assistência de conhecimento generativo proativa (PGKA). Personalize os filtros de segurança no conteúdo gerado para garantir que as sugestões da PGKA sejam o mais úteis e o menos prejudiciais possível para as necessidades da sua empresa.

Filtros de documentos

Filtre documentos de assistência de conhecimento para GKA e PGKA com SearchConfig.

Etapa 1: configurar o Datastore com metadados

Importe com metadados para criar um Datastore para GKA e PGKA. Você precisa fornecer metadados como um ou mais arquivos JSONL, localizados na pasta de nível superior do conteúdo usado para importação.

  1. Siga as etapas na página de ferramentas do Datastore para adicionar um Datastore a um agente.
  2. Na página "Aplicativos de IA", clique em Repositórios de dados > + Criar repositório de dados.
  3. Acesse Cloud Storage e clique em Selecionar.
  4. Clique em Arquivo e insira o caminho para o arquivo no Cloud Storage ou clique em Procurar para selecionar o arquivo.
  5. Navegue até Que tipo de dados você está importando? e selecione Documentos não estruturados com links (JSONL com metadados).
  6. Navegue até Opções de importação de dados e selecione Completa.
  7. Clique em Importar.
  8. Depois de criar o Datastore, confira a tabela "Documents". A tabela lista cada um dos seus documentos com os seguintes detalhes.
    • ID
    • Link do URI
    • Status da indexação
    • Ações
  9. Clique em Ver documento para examinar as propriedades de um documento.

Confira um exemplo de arquivo JSONL. Também é possível especificar metadados no campo structData.

{ "id": "d001", "content": {"mimeType": "text/html", "uri": "gs://example-import/unstructured/first_doc.html"}, "structData": {"property0": "value0", "property1": "value1", "property2": "value2"} }
{ "id": "d002", "content": {"mimeType": "application/pdf", "uri": "gs://example-import/unstructured/second_doc.pdf"}, "structData": {"property0": "value0", "property1": "value3", "property2": "value4"} }

Etapa 2: configurar filtros

Para aplicar valores de filtro diretamente a uma pesquisa do GKA, chame a API SearchKnowledge. Também é possível aplicar um campo SearchConfig na solicitação, da seguinte maneira. Consulte a documentação da Vertex AI para Pesquisa para mais exemplos de expressões de filtro.

{
  "query": {
     "text": "test query"
  },
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
  "sessionId": "SESSION_ID",
  "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
  "querySource": "AGENT_QUERY",
  "searchConfig": 
    "filterSpecs": [{
      "dataStores": ["projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"],
      "filter": "property1 : ANY(\"value1\")" 
      }]
    }
  }
}

Para aplicar valores de filtro em todas as consultas e sugestões de pesquisa de conhecimento em uma única conversa, use IngestContextReferences e anexe o ID da conversa à chamada SearchKnowledge.

Filtros de documentos do PGKA

Aplique um SearchConfig às chamadas da PGKA usando a API IngestContextReferences ou o simulador no console do Assistente de agente.

API

Chame a API IngestContextReferences para aplicar um SearchConfig às chamadas da PGKA.

  1. Chame CreateConversation > IngestContextReferences.
  2. A configuração é aplicada automaticamente a todas as consultas e sugestões de respostas subsequentes do PGKA na mesma conversa.

O exemplo a seguir mostra como usar a APIIngestContextReferences.

{
  "conversation": "projects/PROJECT_ID/locations/global/conversations/CONVERSATION_ID",
  "contextReferences": {
   "gka_search_config": {
      "contextContents": [{
"content": "{ \"filterSpecs\": [{ \"dataStores\": [\"projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID\"], \"filter\": \"property1: ANY    (\\\"value1\\\")\" }] }",
        "contentFormat": "JSON"
      }],
      "updateMode": "OVERWRITE",
      "languageCode": "en-US"
    }
  }
}

Console

  1. Acesse o console da Assistente de agente, faça login e selecione seu projeto.

    Acesse o console

  2. Clique em Simulador e selecione seu perfil de conversa.

  3. Clique em Iniciar > Inserir contexto.

  4. Insira a Chave, o Conteúdo e selecione um dos seguintes Formatos.

    • Texto simples
    • JSON
  5. Clique em Salvar.

Confira abaixo um exemplo de contexto para o simulador.

  • Chave: gka_search_config
  • Formato: JSON
  • Conteúdo:
{ "filterSpecs": [{"dataStores" : ["projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"], "filter" : "property1 : ANY(\"value1\")" }] }

Filtros de segurança

Os recursos generativos no Agent Assist têm filtros de segurança de IA responsável (RAI) integrados. Esses filtros são essenciais para evitar a geração de conteúdo potencialmente nocivo ou inadequado. No entanto, os níveis de segurança padrão podem ser muito restritivos para alguns setores. Por exemplo, um profissional de saúde pode precisar responder a consultas legítimas sobre temas sensíveis que os filtros padrão bloqueiam. Para alinhar o comportamento do gerador às suas necessidades de negócios e casos de uso, é possível personalizar a sensibilidade dos filtros de segurança do recurso PGKA.

Princípios básicos

Há dois componentes principais nos filtros de segurança:

  • A categoria de conteúdo para filtragem
  • O nível de sensibilidade do filtro.

Categorias de IA responsável

É possível definir um nível de sensibilidade para as seguintes categorias de conteúdo:

  • Conteúdo perigoso: conteúdo que se refere a automutilação ou qualquer coisa ilegal, regulamentada ou perigosa.
  • Sexualmente explícito: conteúdo sexualmente explícito ou com material pornográfico.
  • Assédio: conteúdo insultuoso, intimidatório ou abusivo.
  • Incitação ao ódio: conteúdo que promove violência ou incita o ódio contra pessoas ou grupos com base em determinadas características.

Níveis de sensibilidade

Para cada categoria de RAI, é possível escolher um dos seguintes limites de sensibilidade:

  • BLOCK_MOST: bloqueia uma ampla variedade de conteúdo que pode se enquadrar na categoria.
  • BLOCK_SOME: bloqueia conteúdo claramente identificado como pertencente à categoria.
  • BLOCK_FEW: bloqueia apenas as instâncias mais graves de conteúdo da categoria.
  • BLOCK_NONE: desativa todos os filtros da categoria especificada.

Configurações padrão

Se você não fornecer uma configuração personalizada para uma categoria, a assistência de Knowledge Assist proativo vai usar os seguintes níveis de sensibilidade padrão:

  • Conteúdo perigoso:BLOCK_FEW
  • Conteúdo sexualmente explícito:BLOCK_SOME
  • Assédio:BLOCK_SOME
  • Discurso de ódio:BLOCK_SOME

Configurar filtros de segurança

Configure filtros de segurança no seu perfil de conversa. É possível especificar um nível de sensibilidade para uma ou mais categorias de RAI adicionando um objeto rai_settings à configuração de recurso para KNOWLEDGE_ASSIST. As configurações do filtro de segurança podem ser encontradas na matriz feature_configs do recurso de sugestão KNOWLEDGE_ASSIST.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/conversationProfiles/PROFILE_ID",
  "human_agent_assistant_config": {
    "human_agent_suggestion_config": {
      "feature_configs": [
        {
          "suggestion_feature": {
            "type": "KNOWLEDGE_ASSIST"
          },
          "rai_settings": {
            "rai_category_configs": [
              {
                "category": "DANGEROUS_CONTENT",
                "sensitivity_level": "BLOCK_FEW"
              },
              {
                "category": "HARASSMENT",
                "sensitivity_level": "BLOCK_MOST"
              }
            ]
          }
        }
      ]
    }
  }
}

Exemplos de configuração

Os exemplos a seguir ilustram como aumentar ou diminuir o nível de sensibilidade de uma única categoria de acordo com as necessidades da sua empresa.

Exemplo 1: permitir consultas sensíveis sobre saúde

Como profissional de saúde, você quer garantir que as consultas sobre temas sensíveis de saúde mental não sejam bloqueadas. É possível diminuir a sensibilidade da categoria de conteúdo perigoso da seguinte maneira.

"rai_settings": {
  "rai_category_configs": [
    {
      "category": "DANGEROUS_CONTENT",
      "sensitivity_level": "BLOCK_NONE"
    }
  ]
}

Com essa configuração, é mais provável que a assistência proativa de conhecimento generativo processe e forneça uma resposta útil para uma consulta como Quais são os sinais de alerta de suicídio?.

Exemplo 2: aumentar a restrição

Se sua empresa quiser ter mais cuidado com o assédio, aumente a sensibilidade dessa categoria e deixe as outras nos níveis padrão, conforme mostrado abaixo.

"rai_settings": {
  "rai_category_configs": [
    {
      "category": "HARASSMENT",
      "sensitivity_level": "BLOCK_MOST"
    }
  ]
}