Nesta página, descrevemos como usar a Pesquisa da Vertex AI para analisar e dividir seus documentos.
É possível configurar as configurações de análise ou divisão em partes para:
Especifique como a Vertex AI para Pesquisa analisa o conteúdo. É possível especificar como analisar conteúdo não estruturado ao fazer upload dele para a Vertex AI para Pesquisa. A Vertex AI para Pesquisa oferece um analisador digital, um analisador de OCR para PDFs e um analisador de layout. Você também pode trazer seus próprios documentos analisados. O analisador de layout é recomendado quando você tem conteúdo avançado e elementos estruturais, como seções, parágrafos, tabelas, imagens e listas, para serem extraídos de documentos para pesquisa e geração de respostas.
Use a Pesquisa da Vertex AI para geração aumentada de recuperação (RAG). Melhore a saída dos LLMs com dados relevantes que você enviou para o app Vertex AI para Pesquisa. Para isso, ative o fragmentação de documentos, que indexa seus dados como fragmentos para melhorar a relevância e diminuir a carga computacional dos LLMs. Você também vai ativar o analisador de layout, que detecta elementos do documento, como cabeçalhos e listas, para melhorar a forma como os documentos são divididos em partes.
Para informações sobre como dividir documentos para RAG e como retornar partes em solicitações de pesquisa, consulte Dividir documentos para RAG.
Analisar documentos
É possível controlar a análise de conteúdo das seguintes maneiras:
Especifique o tipo de analisador. É possível especificar o tipo de análise a ser aplicada dependendo do tipo de arquivo:
- Analisador digital. O analisador digital fica ativado por padrão para todos os tipos de arquivo, a menos que um tipo diferente seja especificado. O analisador digital processa documentos ingeridos se nenhum outro analisador padrão for especificado para o repositório de dados ou se o analisador especificado não for compatível com o tipo de arquivo de um documento ingerido.
- Análise de OCR para PDFs. Se você planeja fazer upload de PDFs digitalizados ou com texto dentro de imagens, ative o analisador de OCR para melhorar a indexação de PDFs. Consulte a seção Parser de OCR para PDFs deste documento.
- Analisador de layout. Ative o analisador de layout para arquivos HTML, PDF ou DOCX se você planeja usar a Vertex AI para Pesquisa com RAG. Consulte Dividir documentos para RAG para informações sobre esse analisador e como ativá-lo.
Use seu próprio documento analisado. (Prévia com lista de permissões) Se você já analisou seus documentos não estruturados, é possível importar esse conteúdo pré-analisado para a Vertex AI para Pesquisa. Consulte Trazer seu próprio documento analisado.
Comparação da disponibilidade do analisador
A tabela a seguir lista a disponibilidade de cada analisador por tipo de arquivo de documento e mostra quais elementos cada analisador pode detectar e analisar.
Tipo de arquivo | Analisador digital | Analisador de OCR | Analisador de layout |
---|---|---|---|
HTML | Detecta elementos de parágrafo | Não relevante | Detecta elementos de parágrafo, tabela, imagem, lista, título e cabeçalho |
Detecta elementos de parágrafo (texto digital) | Detecta elementos de parágrafo | Detecta elementos de parágrafo, tabela, imagem, título e cabeçalho | |
DOCX (prévia) | Detecta elementos de parágrafo | Não relevante | Detecta parágrafos, tabelas, imagens, listas, títulos e elementos de cabeçalho |
PPTX (Prévia) | Detecta elementos de parágrafo | Não relevante | Detecta parágrafos, tabelas, imagens, listas, títulos e elementos de cabeçalho |
TXT | Detecta elementos de parágrafo | Não relevante | Não relevante |
XLSX (pré-lançamento) | Detecta elementos de parágrafo | Não relevante | Detecta elementos de parágrafo, tabela, título e cabeçalho |
Analisador digital
O analisador digital extrai texto legível por máquina de documentos. Ele detecta blocos de texto, mas não elementos de documentos, como tabelas, listas e cabeçalhos.
O analisador digital é usado como padrão se você não especificar um analisador diferente durante a criação do repositório de dados ou se um analisador especificado não for compatível com um tipo de arquivo que está sendo enviado.
Analisador de OCR para PDFs
Se você tiver PDFs não pesquisáveis (digitalizados ou com texto dentro de imagens, como infográficos), o Google recomenda ativar o processamento de reconhecimento óptico de caracteres (OCR) durante a criação do repositório de dados. Isso permite que a Vertex AI para Pesquisa extraia elementos de parágrafo.
Se você tiver PDFs pesquisáveis ou outros formatos digitais compostos principalmente de texto legível por máquina, geralmente não será necessário usar o analisador de OCR. No entanto, se você tiver PDFs com texto não pesquisável (como texto digitalizado ou infográficos) e texto legível por máquina, defina o campo useNativeText
como "true" ao especificar o analisador de OCR. Nesse caso, o texto legível por máquina é
combinado com saídas de análise do OCR para melhorar a qualidade da extração de texto.
Os recursos de processamento de OCR estão disponíveis para apps de pesquisa personalizada com repositórios de dados não estruturados.
O processador de OCR pode analisar as primeiras 500 páginas de um arquivo PDF. As páginas além do limite de 500 não são processadas.
Analisador de layout
Com a análise de layout, a Vertex AI para Pesquisa detecta layouts para PDF e HTML. O suporte para arquivos DOCX está em prévia. A Vertex AI Search pode identificar elementos de conteúdo, como blocos de texto, tabelas, listas e elementos estruturais, como títulos e cabeçalhos, e usá-los para definir a organização e a hierarquia de um documento.
É possível ativar a análise de layout para todos os tipos de arquivo ou especificar para quais tipos de arquivo ela será ativada. O analisador de layout detecta elementos de conteúdo como parágrafos, tabelas, listas e elementos estruturais como títulos, cabeçalhos, rodapés.
O analisador de layout só está disponível quando você usa a divisão de documentos para RAG. Quando o chunking de documentos está ativado, a Vertex AI para Pesquisa divide os documentos em partes no momento da ingestão e pode retornar documentos como partes. A detecção do layout do documento permite o chunking com reconhecimento de conteúdo e melhora a pesquisa e a geração de respostas relacionadas a elementos do documento. Para mais informações sobre como dividir documentos para RAG, consulte Dividir documentos para RAG.
Anotação de imagem (recurso em fase de pré-lançamento)
Se a anotação de imagem estiver ativada, quando uma imagem for detectada em um documento de origem, uma descrição (anotação) da imagem e a imagem em si serão atribuídas a um trecho. A anotação determina se o trecho precisa ser retornado em um resultado da pesquisa. Se uma resposta for gerada, a anotação poderá ser uma fonte para ela.
O analisador de layout pode detectar os seguintes tipos de imagem: BMP, GIF, JPEG, PNG e TIFF.
Anotação de tabela
Se a anotação de tabela estiver ativada, quando uma tabela for detectada em um documento de origem, uma descrição (anotação) da tabela e a tabela em si serão atribuídas a um trecho. A anotação determina se o trecho precisa ser retornado em um resultado da pesquisa. Se uma resposta for gerada, a anotação poderá ser uma fonte para ela.
Excluir conteúdo HTML
Ao usar o analisador de layout para documentos HTML, é possível excluir partes específicas do conteúdo HTML do processamento. Para melhorar a qualidade dos dados em aplicativos de pesquisa e RAG, exclua modelos ou seções como menus de navegação, cabeçalhos, rodapés ou barras laterais.
O layoutParsingConfig
fornece os seguintes campos
para essa finalidade:
excludeHtmlElements
: lista de tags HTML a serem excluídas. O conteúdo dessas tags é excluído.excludeHtmlClasses
: lista de atributos de classe HTML a serem excluídos. Os elementos HTML que contêm esses atributos de classe, junto com o conteúdo deles, são excluídos.excludeHtmlIds
: lista de atributos de ID de elementos HTML a serem excluídos. Os elementos HTML com esses atributos de ID, junto com o conteúdo deles, são excluídos.
Especificar um analisador padrão
Ao incluir o objeto documentProcessingConfig
ao criar um repositório de dados, é possível especificar um analisador padrão para ele. Se você não incluir documentProcessingConfig.defaultParsingConfig
, o analisador digital será usado. O analisador digital também é usado se o analisador especificado não estiver disponível para um tipo de arquivo.
REST
Para especificar um analisador padrão:
Ao criar um repositório de dados de pesquisa usando a API, inclua
documentProcessingConfig.defaultParsingConfig
na solicitação de criação do repositório de dados. É possível especificar o analisador de OCR, o analisador de layout ou o analisador digital:Para especificar o analisador de OCR para PDFs:
"documentProcessingConfig": { "defaultParsingConfig": { "ocrParsingConfig": { "useNativeText": "NATIVE_TEXT_BOOLEAN" } } }
NATIVE_TEXT_BOOLEAN
é opcional. Defina apenas se você estiver ingerindo PDFs. Se definido comotrue
, isso ativa o processamento de texto legível por máquina para o analisador de OCR. O padrão éfalse
.
Para especificar o analisador de layout:
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": {} } }
Para especificar o analisador digital:
"documentProcessingConfig": { "defaultParsingConfig": { "digitalParsingConfig": {} } }
Console
Ao criar um repositório de dados de pesquisa pelo console, é possível especificar o analisador padrão.
Exemplo
O exemplo a seguir especifica durante a criação do repositório de dados que o analisador de OCR será o padrão. Como o analisador de OCR se aplica apenas a arquivos PDF, todos os arquivos PDF ingeridos serão processados por ele, e todos os outros tipos de arquivo serão processados pelo analisador digital.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
"displayName": "exampledatastore",
"industryVertical": "GENERIC",
"solutionTypes": ["SOLUTION_TYPE_SEARCH"],
"contentConfig": "CONTENT_REQUIRED",
"documentProcessingConfig": {
"defaultParsingConfig": {
"ocrParsingConfig": {
"useNativeText": "false"
}
}
}
}'
Especificar substituições de analisadores para tipos de arquivos
É possível especificar que um tipo de arquivo específico (PDF, HTML ou DOCX) seja analisado por um analisador diferente do padrão. Para isso, inclua o campo
documentProcessingConfig
na solicitação de criação do repositório de dados e especifique o analisador de substituição. Se você não especificar um analisador padrão, o analisador digital será o padrão.
REST
Para especificar uma substituição de analisador específica do tipo de arquivo:
Ao criar um repositório de dados de pesquisa usando a API, inclua
documentProcessingConfig.defaultParsingConfig
na solicitação de criação do repositório de dados.É possível especificar um analisador para
pdf
,html
oudocx
:"documentProcessingConfig": { "parsingConfigOverrides": { "FILE_TYPE": { PARSING_CONFIG }, } }
Substitua:
FILE_TYPE
: os valores aceitos sãopdf
,html
edocx
.PARSING_CONFIG
: especifique a configuração do analisador que você quer aplicar ao tipo de arquivo. É possível especificar o analisador de OCR, o analisador de layout ou o analisador digital:Para especificar o analisador de OCR para PDFs:
"ocrParsingConfig": { "useNativeText": "NATIVE_TEXT_BOOLEAN" }
NATIVE_TEXT_BOOLEAN
: opcional. Defina apenas se você estiver inserindo PDFs. Se definido comotrue
, isso ativa o processamento de texto legível por máquina para o analisador de OCR. O padrão éfalse
.
Para especificar o analisador de layout:
"layoutParsingConfig": {}
Para especificar o analisador digital:
"documentProcessingConfig": { "defaultParsingConfig": { "digitalParsingConfig": {} } }
Console
Ao criar um repositório de dados de pesquisa pelo console, é possível especificar substituições de analisador para tipos de arquivos específicos.
Exemplo
O exemplo a seguir especifica durante a criação do repositório de dados que os arquivos PDF devem ser processados pelo analisador de OCR e os arquivos HTML pelo analisador de layout. Nesse caso, todos os arquivos, exceto PDF e HTML, seriam processados pelo analisador digital.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
"displayName": "exampledatastore",
"industryVertical": "GENERIC",
"solutionTypes": ["SOLUTION_TYPE_SEARCH"],
"contentConfig": "CONTENT_REQUIRED",
"documentProcessingConfig": {
"parsingConfigOverrides": {
"pdf": {
"ocrParsingConfig": {
"useNativeText": "false"
},
},
"html": {
"layoutParsingConfig": {}
}
}
}
}'
Editar a análise de documentos para repositórios de dados atuais
Se você já tiver um repositório de dados, poderá mudar o analisador padrão e adicionar exceções de formato de arquivo. No entanto, as configurações atualizadas do analisador só se aplicam a novos documentos importados para o repositório de dados. Os documentos que já estão no repositório de dados não são analisados novamente com as novas configurações.
Para mudar as configurações de análise de documentos de um repositório de dados, faça o seguinte:
No console Google Cloud , acesse a página Aplicativos de IA.
No menu de navegação, clique em Repositórios de dados.
Na coluna Nome, clique no repositório de dados que você quer editar.
Na guia Configuração de processamento, edite as configurações de Análise de documentos.
Não é possível mudar as configurações de Divisão de documentos. Se o repositório de dados não tiver a divisão de documentos ativada, não será possível escolher o analisador de layout.
Clique em Enviar.
Configurar o analisador de layout para excluir conteúdo HTML
É possível configurar o analisador de layout para excluir conteúdo HTML especificando excludeHtmlElements
, excludeHtmlClasses
ou excludeHtmlIds
em documentProcessingConfig.defaultParsingConfig.layoutParsingConfig
.
REST
Para impedir que determinado conteúdo HTML seja processado pelo analisador de layout, siga estas etapas:
Ao criar um repositório de dados de pesquisa usando a API, inclua
documentProcessingConfig.defaultParsingConfig.layoutParsingConfig
no pedido de criação.Para excluir tipos de tags HTML específicos, use:
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": { "excludeHtmlElements": ["HTML_TAG_1","HTML_TAG_2","HTML_TAG_N"] } } }
Substitua as variáveis HTML_TAG por nomes de tag, por exemplo,
nav
efooter
.Para excluir atributos de classe de elementos HTML específicos, use:
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": { "excludeHtmlClasses": ["HTML_CLASS_1","HTML_CLASS_2","HTML_CLASS_N"] } } }
Substitua as variáveis HTML_CLASS por atributos de classe, por exemplo,
overlay
escreenreader
.Para excluir atributos de ID de elementos HTML específicos, use:
"documentProcessingConfig": { "defaultParsingConfig": { "layoutParsingConfig": { "excludeHtmlIds": ["HTML_ID_1","HTML_ID_2","HTML_ID_N"] } } }
Substitua as variáveis HTML_ID por atributos de ID, por exemplo,
cookie-banner
.
Exemplo
Este exemplo especifica que, quando arquivos HTML são processados pelo analisador de layout, o seguinte é ignorado pelo analisador:
Tags de elementos HTML,
header
,footer
,nav
easide
Atributos de classe de elemento HTML do tipo
overlays
escreenreader
Todos os elementos com o ID de atributo
cookie-banner
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
"displayName": "exampledatastore",
"industryVertical": "GENERIC",
"solutionTypes": ["SOLUTION_TYPE_SEARCH"],
"contentConfig": "CONTENT_REQUIRED",
"documentProcessingConfig": {
"defaultParsingConfig": {
"layoutParsingConfig": {
"excludeHtmlElements": ["header", "footer", "nav", "aside"],
"excludeHtmlClasses": ["overlays", "screenreader"],
"excludeHtmlIds": ["cookie-banner"]
}
}
}
}'
Receber documentos analisados em JSON
Para receber um documento analisado em formato JSON, chame o método
getProcessedDocument
e especifique PARSED_DOCUMENT
como o tipo de documento
processado. Receber documentos analisados em JSON pode ser útil se você precisar
fazer upload do documento analisado em outro lugar ou se decidir reimportar documentos
analisados para aplicativos de IA usando o recurso traga seu próprio documento
analisado.
REST
Para receber documentos analisados em JSON, siga esta etapa:
Chame o método
getProcessedDocument
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=PARSED_DOCUMENT"
Substitua:
PROJECT_ID
: o ID do seu projeto.DATA_STORE_ID
: o ID do seu repositório de dados.DOCUMENT_ID
: o ID do documento a ser recebido.
Use seu próprio documento analisado
É possível importar documentos não estruturados e pré-analisados para repositórios de dados da Vertex AI para Pesquisa. Por exemplo, em vez de importar um documento PDF bruto, você pode analisar o PDF e importar o resultado da análise. Isso permite importar seus documentos de maneira estruturada, garantindo que a pesquisa e a geração de respostas tenham informações sobre o layout e os elementos do documento.
Um documento não estruturado analisado é representado por JSON, que descreve o documento usando uma sequência de blocos de texto, tabela e lista. Você importa arquivos JSON com os dados de documentos não estruturados analisados da mesma forma que importa outros tipos de documentos não estruturados, como PDFs. Quando esse recurso está ativado, sempre que um arquivo JSON é enviado e identificado por um tipo MIME application/json
ou uma extensão .JSON, ele é tratado como um documento analisado.
Para ativar esse recurso e saber como usá-lo, entre em contato com a equipe da sua Conta do Google.
Dividir documentos em partes para a RAG
Por padrão, a Vertex AI para Pesquisa é otimizada para recuperação de documentos, em que o app de pesquisa retorna um documento, como um PDF ou uma página da Web, com cada resultado da pesquisa.
Os recursos de divisão de documentos estão disponíveis para apps de pesquisa personalizados com repositórios de dados não estruturados.
Em vez disso, a Vertex AI para Pesquisa pode ser otimizada para RAG, em que seu app de pesquisa é usado principalmente para aumentar a saída do LLM com seus dados personalizados. Quando o chunking de documentos está ativado, a Vertex AI para Pesquisa divide seus documentos em chunks. Nos resultados da pesquisa, o app pode retornar partes relevantes de dados em vez de documentos completos. O uso de dados fragmentados para RAG aumenta a relevância das respostas do LLM e reduz a carga computacional para eles.
Para usar a Vertex AI para Pesquisa com RAG:
Ative a divisão de documentos ao criar o repositório de dados.
Ou faça upload dos seus próprios trechos (prévia com lista de permissões) se já tiver dividido seus documentos.
Recupere e veja os trechos das seguintes maneiras:
Limitações
As seguintes limitações se aplicam ao chunking:
- Não é possível ativar ou desativar a divisão de documentos depois da criação do repositório de dados.
- É possível fazer solicitações de pesquisa de documentos em vez de partes de um repositório de dados com a divisão de documentos ativada. No entanto, os repositórios de dados com divisão de documentos ativada não são otimizados para retornar documentos. Os documentos são retornados agregando partes em documentos.
- Quando o particionamento de documentos está ativado, os resumos e as pesquisas com acompanhamentos são compatíveis com o Acesso antecipado, mas não com a disponibilidade geral.
Opções de divisão de documentos
Esta seção descreve as opções que você especifica para ativar a divisão de documentos.
Durante a criação do repositório de dados, ative as seguintes opções para que a Vertex AI para Pesquisa possa indexar seus documentos como partes.
Divisão de documentos com reconhecimento de layout. Para ativar essa opção, inclua o campo
documentProcessingConfig
na solicitação de criação do repositório de dados e especifiqueChunkingConfig.LayoutBasedChunkingConfig
.Quando o particionamento de documentos com reconhecimento de layout está ativado, a Vertex AI para Pesquisa detecta o layout de um documento e o considera durante o particionamento. Isso melhora a coerência semântica e reduz o ruído no conteúdo quando ele é usado para recuperação e geração de LLM. Todo o texto em um trecho vem da mesma entidade de layout, como títulos, subtítulos e listas.
Análise de layout. Para ativar essa opção, especifique
ParsingConfig.LayoutParsingConfig
durante a criação do repositório de dados.O analisador de layout detecta layouts para arquivos PDF, HTML e DOCX. Ele identifica elementos como blocos de texto, tabelas, listas, títulos e cabeçalhos e os usa para definir a organização e a hierarquia de um documento.
Para mais informações sobre a análise de layout, consulte Análise de layout.
Ativar a divisão de documentos
Para ativar a divisão de documentos, inclua o objeto documentProcessingConfig
na solicitação de criação do repositório de dados e ative a divisão de documentos com reconhecimento de layout e a análise de layout.
REST
Para ativar a divisão de documentos:
Ao criar um repositório de dados de pesquisa usando a API, inclua o objeto
documentProcessingConfig.chunkingConfig
na solicitação de criação do repositório de dados."documentProcessingConfig": { "chunkingConfig": { "layoutBasedChunkingConfig": { "chunkSize": CHUNK_SIZE_LIMIT, "includeAncestorHeadings": HEADINGS_BOOLEAN, } }, "defaultParsingConfig": { "layoutParsingConfig": {} } }
Substitua:
CHUNK_SIZE_LIMIT
: opcional. O limite de tamanho do token para cada parte. O valor padrão é 500. Os valores aceitos são de 100 a 500 (inclusive).HEADINGS_BOOLEAN
: opcional. Determina se os cabeçalhos estão incluídos em cada parte. O valor padrão éfalse
. Adicionar título e cabeçalhos em todos os níveis a blocos do meio do documento pode ajudar a evitar a perda de contexto na recuperação e classificação de blocos.
Console
Ao criar um repositório de dados de pesquisa no console, é possível ativar a divisão de documentos.
Traga seus próprios trechos (prévia com lista de permissão)
Se você já tiver dividido seus próprios documentos em partes, faça upload deles para a Vertex AI para Pesquisa em vez de ativar as opções de divisão de documentos.
Trazer seus próprios trechos é um recurso de pré-lançamento com lista de permissões. Para usar esse recurso, entre em contato com a equipe da sua Conta do Google.
Listar os blocos de um documento
Para listar todos os fragmentos de um documento específico, chame o método Chunks.list
.
REST
Para listar os fragmentos de um documento, siga esta etapa:
Chame o método
Chunks.list
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks"
Substitua:
PROJECT_ID
: o ID do seu projeto.DATA_STORE_ID
: o ID do seu repositório de dados.DOCUMENT_ID
: o ID do documento para listar os trechos.
Receber partes em JSON de um documento processado
Para receber todos os trechos de um documento específico no formato JSON, chame o método
getProcessedDocument
. Receber partes em JSON pode ser útil se você precisar fazer upload delas em outro lugar ou se decidir reimportar partes para aplicativos de IA usando o recurso traga suas próprias partes.
REST
Para receber partes JSON de um documento, siga esta etapa:
Chame o método
getProcessedDocument
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=CHUNKED_DOCUMENT"
Substitua:
PROJECT_ID
: o ID do seu projeto.DATA_STORE_ID
: o ID do seu repositório de dados.DOCUMENT_ID
: o ID do documento de que você quer receber partes.
Receber partes específicas
Para receber um trecho específico, chame o método Chunks.get
.
REST
Para receber um trecho específico, siga esta etapa:
Chame o método
Chunks.get
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks/CHUNK_ID"
Substitua:
PROJECT_ID
: o ID do seu projeto.DATA_STORE_ID
: o ID do seu repositório de dados.DOCUMENT_ID
: o ID do documento de origem do trecho.CHUNK_ID
: o ID do bloco a ser retornado.
Retornar partes em solicitações de pesquisa
Depois de confirmar que os dados foram divididos corretamente, a Pesquisa da Vertex AI poderá retornar dados divididos nos resultados da pesquisa.
A resposta retorna um trecho relevante para a consulta de pesquisa. Além disso, você pode escolher retornar trechos adjacentes que aparecem antes e depois do trecho relevante no documento de origem. Trechos adjacentes podem adicionar contexto e precisão.
REST
Para receber dados em partes:
Ao fazer uma solicitação de pesquisa, especifique
ContentSearchSpec.SearchResultMode
comochunks
.contentSearchSpec": { "searchResultMode": "RESULT_MODE", "chunkSpec": { "numPreviousChunks": NUMBER_OF_PREVIOUS_CHUNKS, "numNextChunks": NUMBER_OF_NEXT_CHUNKS } }
RESULT_MODE
: determina se os resultados da pesquisa são retornados como documentos completos ou em partes. Para receber partes, o repositório de dados precisa ter a divisão de documentos ativada. Os valores aceitos sãodocuments
echunks
. Se o particionamento de documentos estiver ativado para seu repositório de dados, o valor padrão seráchunks
.NUMBER_OF_PREVIOUS_CHUNKS
: o número de partes a serem retornadas que precederam imediatamente a parte relevante. O valor máximo permitido é 5.NUMBER_OF_NEXT_CHUNKS
: o número de partes a serem retornadas que seguem imediatamente a parte relevante. O valor máximo permitido é 5.
Exemplo
O exemplo a seguir de uma solicitação de consulta de pesquisa define SearchResultMode
como
chunks
, solicita um trecho anterior e um próximo e limita o número
de resultados a um único trecho relevante usando pageSize
.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1/projects/exampleproject/locations/global/collections/default_collection/dataStores/datastore123/servingConfigs/default_search:search" \
-d '{
"query": "animal",
"pageSize": 1,
"contentSearchSpec": {
"searchResultMode": "CHUNKS",
"chunkSpec": {
"numPreviousChunks": 1,
"numNextChunks": 1
}
}
}'
O exemplo a seguir mostra a resposta retornada para a consulta de exemplo. A resposta contém os trechos relevantes, os trechos anterior e seguinte, os metadados do documento original e o intervalo de páginas do documento de que cada trecho foi derivado.
Resposta
{ "results": [ { "chunk": { "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c17", "id": "c17", "content": "\n# ESS10: Stakeholder Engagement and Information Disclosure\nReaders should also refer to ESS10 and its guidance notes, plus the template available for a stakeholder engagement plan. More detail on stakeholder engagement in projects with risks related to animal health is contained in section 4 below. The type of stakeholders (men and women) that can be engaged by the Borrower as part of the project's environmental and social assessment and project design and implementation are diverse and vary based on the type of intervention. The stakeholders can include: Pastoralists, farmers, herders, women's groups, women farmers, community members, fishermen, youths, etc. Cooperatives members, farmer groups, women's livestock associations, water user associations, community councils, slaughterhouse workers, traders, etc. Veterinarians, para-veterinary professionals, animal health workers, community animal health workers, faculties and students in veterinary colleges, etc. 8 \n# 4. Good Practice in Animal Health Risk Assessment and Management\n\n# Approach\nRisk assessment provides the transparent, adequate and objective evaluation needed by interested parties to make decisions on health-related risks associated with project activities involving live animals. As the ESF requires, it is conducted throughout the project cycle, to provide or indicate likelihood and impact of a given hazard, identify factors that shape the risk, and find proportionate and appropriate management options. The level of risk may be reduced by mitigation measures, such as infrastructure (e.g., diagnostic laboratories, border control posts, quarantine stations), codes of practice (e.g., good animal husbandry practices, on-farm biosecurity, quarantine, vaccination), policies and regulations (e.g., rules for importing live animals, ban on growth hormones and promotors, feed standards, distance required between farms, vaccination), institutional capacity (e.g., veterinary services, surveillance and monitoring), changes in individual behavior (e.g., hygiene, hand washing, care for animals). Annex 2 provides examples of mitigation practices. This list is not an exhaustive one but a compendium of most practiced interventions and activities. The cited measures should take into account social, economic, as well as cultural, gender and occupational aspects, and other factors that may affect the acceptability of mitigation practices by project beneficiaries and other stakeholders. Risk assessment is reviewed and updated through the project cycle (for example to take into account increased trade and travel connectivity between rural and urban settings and how this may affect risks of disease occurrence and/or outbreak). Projects monitor changes in risks (likelihood and impact) b by using data, triggers or indicators. ", "documentMetadata": { "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf", "title": "AnimalHealthGoodPracticeNote" }, "pageSpan": { "pageStart": 14, "pageEnd": 15 }, "chunkMetadata": { "previousChunks": [ { "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c16", "id": "c16", "content": "\n# ESS6: Biodiversity Conservation and Sustainable Management of Living Natural Resources\nThe risks associated with livestock interventions under ESS6 include animal welfare (in relation to housing, transport, and slaughter); diffusion of pathogens from domestic animals to wildlife, with risks for endemic species and biodiversity (e.g., sheep and goat plague in Mongolia affecting the saiga, an endemic species of wild antelope); the introduction of new breeds with potential risk of introducing exotic or new diseases; and the release of new species that are not endemic with competitive advantage, potentially putting endemic species at risk of extinction. Animal welfare relates to how an animal is coping with the conditions in which it lives. An animal is in a good state of welfare if it is healthy, comfortable, well nourished, safe, able to express innate behavior, 7 Good Practice Note - Animal Health and related risks and is not suffering from unpleasant states such as pain, fear or distress. Good animal welfare requires appropriate animal care, disease prevention and veterinary treatment; appropriate shelter, management and nutrition; humane handling, slaughter or culling. The OIE provides standards for animal welfare on farms, during transport and at the time of slaughter, for their welfare and for purposes of disease control, in its Terrestrial and Aquatic Codes. The 2014 IFC Good Practice Note: Improving Animal Welfare in Livestock Operations is another example of practical guidance provided to development practitioners for implementation in investments and operations. Pastoralists rely heavily on livestock as a source of food, income and social status. Emergency projects to restock the herds of pastoralists affected by drought, disease or other natural disaster should pay particular attention to animal welfare (in terms of transport, access to water, feed, and animal health) to avoid potential disease transmission and ensure humane treatment of animals. Restocking also entails assessing the assets of pastoralists and their ability to maintain livestock in good conditions (access to pasture and water, social relationship, technical knowledge, etc.). Pastoralist communities also need to be engaged by the project to determine the type of animals and breed and the minimum herd size to be considered for restocking. \n# Box 5. Safeguarding the welfare of animals and related risks in project activities\nIn Haiti, the RESEPAG project (Relaunching Agriculture: Strengthening Agriculture Public Services) financed housing for goats and provided technical recommendations for improving their welfare, which is critical to avoid the respiratory infections, including pneumonia, that are serious diseases for goats. To prevent these diseases, requires optimal sanitation and air quality in herd housing. This involves ensuring that buildings have adequate ventilation and dust levels are reduced to minimize the opportunity for infection. Good nutrition, water and minerals are also needed to support the goats' immune function. The project paid particular attention to: (i) housing design to ensure good ventilation; (ii) locating housing close to water sources and away from human habitation and noisy areas; (iii) providing mineral blocks for micronutrients; (iv) ensuring availability of drinking water and clean food troughs. ", "documentMetadata": { "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf", "title": "AnimalHealthGoodPracticeNote" }, "pageSpan": { "pageStart": 13, "pageEnd": 14 } } ], "nextChunks": [ { "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c18", "id": "c18", "content": "\n# Scoping of risks\nEarly scoping of risks related to animal health informs decisions to initiate more comprehensive risk assessment according to the type of livestock interventions and activities. It can be based on the following considerations: • • • • Type of livestock interventions supported by the project (such as expansion of feed resources, improvement of animal genetics, construction/upgrading and management of post-farm-gate facilities, etc. – see also Annex 2); Geographic scope and scale of the livestock interventions; Human and animal populations that are likely to be affected (farmers, women, children, domestic animals, wildlife, etc.); and Changes in the project or project context (such as emerging disease outbreak, extreme weather or climatic conditions) that would require a re-assessment of risk levels, mitigation measures and their likely effect on risk reduction. Scenario planning can also help to identify project-specific vulnerabilities, country-wide or locally, and help shape pragmatic analyses that address single or multiple hazards. In this process, some populations may be identified as having disproportionate exposure or vulnerability to certain risks because of occupation, gender, age, cultural or religious affiliation, socio-economic or health status. For example, women and children may be the main caretakers of livestock in the case of 9 Good Practice Note - Animal Health and related risks household farming, which puts them into close contact with animals and animal products. In farms and slaughterhouses, workers and veterinarians are particularly exposed, as they may be in direct contact with sick animals (see Box 2 for an illustration). Fragility, conflict, and violence (FCV) can exacerbate risk, in terms of likelihood and impact. Migrants new to a geographic area may be immunologically naïve to endemic zoonotic diseases or they may inadvertently introduce exotic diseases; and refugees or internally displaced populations may have high population density with limited infrastructure, leaving them vulnerable to disease exposure. Factors such as lack of access to sanitation, hygiene, housing, and health and veterinary services may also affect disease prevalence, contributing to perpetuation of poverty in some populations. Risk assessment should identify populations at risk and prioritize vulnerable populations and circumstances where risks may be increased. It should be noted that activities that seem minor can still have major consequences. See Box 6 for an example illustrating how such small interventions in a project may have large-scale consequences. It highlights the need for risk assessment, even for simple livestock interventions and activities, and how this can help during the project cycle (from concept to implementation). ", "documentMetadata": { "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf", "title": "AnimalHealthGoodPracticeNote" }, "pageSpan": { "pageStart": 15, "pageEnd": 16 } } ] } } } ], "totalSize": 61, "attributionToken": "jwHwjgoMCICPjbAGEISp2J0BEiQ2NjAzMmZhYS0wMDAwLTJjYzEtYWQxYS1hYzNlYjE0Mzc2MTQiB0dFTkVSSUMqUMLwnhXb7Ygtq8SKLa3Eii3d7Ygtj_enIqOAlyLm7Ygtt7eMLduPmiKN96cijr6dFcXL8xfdj5oi9-yILdSynRWCspoi-eyILYCymiLk7Ygt", "nextPageToken": "ANxYzNzQTMiV2MjFWLhFDZh1SMjNmMtADMwATL5EmZyMDM2YDJaMQv3yagQYAsciPgIwgExEgC", "guidedSearchResult": {}, "summary": {} }