Pesquisa com IA generativa

Antes de começar

Para ingerir documentos de amostra no warehouse da Document AI, consulte o guia de início rápido.

A pesquisa de IA generativa recupera os k documentos mais relevantes para a consulta de pesquisa (palavra-chave ou linguagem natural). Ela retorna respostas precisas de um conjunto de documentos enviados pelo cliente, classificando os resultados da pesquisa por relevância.

O autor da chamada de solicitação de pesquisa decide o k especificando-o no campo qaSizeLimit. Modelos de linguagem grandes determinam a relevância entre a consulta de pesquisa e os documentos.

Quais dados são pesquisados?

A filtragem, a paginação, a histograma, os sinônimos personalizados, o nível do documento e o controle de acesso refinado não são compatíveis.

Fazer uma chamada de solicitação de pesquisa

Para chamar o serviço de pesquisa, você precisa usar uma solicitação de pesquisa, que é definida da seguinte maneira:

{
  "documentQuery": {
    object (DocumentQuery)
  },
  "qaSizeLimit": integer
}

O campo parent precisa ser preenchido com o formato:

/projects/PROJECT_ID/locations/LOCATION

O campo qaSizeLimit é obrigatório para a pesquisa de IA generativa.

Resposta a uma solicitação de pesquisa

A resposta da pesquisa é definida da seguinte maneira:

{
  "matchingDocuments": [
    {
      object (MatchingDocument)
    }
  ],
  "metadata": {
    object (ResponseMetadata)
  }
}

Consulta de documentos

O campo document_query é definido da seguinte maneira:

{
  "query": string,
  "isNlQuery": boolean
}

O campo query é para as palavras de consulta de pesquisa do usuário solicitante, que podem ser palavras-chave ou perguntas em linguagem natural. Normalmente, elas vêm do campo de pesquisa na UI. O campo isNlQuery precisa ser definido como verdadeiro para a pesquisa de IA generativa.

Documento correspondente

Um documento correspondente é assim:

{
  "document": {
    object (Document)
  },
  "searchTextSnippet": string,
  "qaResult": {
    object (QAResult)
  }
}

O campo SearchTextSnippet contém um snippet que responde à consulta de linguagem natural do usuário. Nenhuma tag HTML em negrito estará presente, e os destaques no snippet de resposta podem ser encontrados em QAResult.highlights. Observação: referência completa para o documento correspondente.

Resultado da pesquisa de IA generativa

Estas são informações sobre o resultado da pesquisa de IA generativa.

{
  "highlights": {
    object(Highlight)
  }
  "confidence_score": float
}

Destaque

Este é um intervalo de texto no snippet de pesquisa que representa uma seção destacada, como o contexto da resposta ou uma frase altamente relevante.

{
  "start_index": integer
  "end_index": integer
}

Perguntas e respostas de um conjunto de documentos

Para gerar uma resposta usando a IA generativa, você precisa usar uma solicitação de pesquisa com documentNameFilter, que é definida da seguinte maneira:

{
  "documentQuery": {
    "query": "QUERY",
    "isNlQuery": "true",
    "documentNameFilter" : [
      "projects/PROJECT_NUMBER/locations/LOCATION/documents/DOCUMENT_ID_1",
      "projects/PROJECT_NUMBER/locations/LOCATION/documents/DOCUMENT_ID_2",
    ]
  },
  "qaSizeLimit": integer
}

Evite adicionar outros filtros a documentQuery, porque eles ainda não estão funcionando.

Se uma resposta puder ser encontrada no conjunto de documentos fornecido, ela será armazenada no campo questionAnswer.

{
  "document": {
    object (Document)
  },
  questionAnswer: "QUESTION_ANSWER",
}

Próximas etapas