É possível criar repositórios de dados com base em tabelas do Cloud Storage de duas maneiras:
Ingestão única: você importa dados de uma pasta ou arquivo do Cloud Storage para um repositório de dados. Os dados no repositório de dados não mudam, a menos que você os atualize manualmente.
Ingestão periódica: você importa dados de uma pasta ou arquivo do Cloud Storage e define uma frequência de sincronização que determina com que frequência o repositório de dados é atualizado com os dados mais recentes desse local do Cloud Storage.
A tabela a seguir compara as duas maneiras de importar dados do Cloud Storage para repositórios de dados do Gemini Enterprise.
| Ingestão única | Ingestão periódica |
|---|---|
| Disponibilidade geral (GA). | Acesso antecipado. |
| Os dados precisam ser atualizados manualmente. | Os dados são atualizados automaticamente a cada um, três ou cinco dias. Não é possível atualizar os dados manualmente. |
| O Gemini Enterprise cria um único repositório de dados com base em uma pasta ou arquivo no Cloud Storage. | O Gemini Enterprise cria um conector de dados e associa um repositório de dados (chamado de repositório de dados de entidade) a ele para o arquivo ou a pasta especificada. Cada conector de dados do Cloud Storage pode ter um único repositório de dados de entidade. |
| Os dados de vários arquivos, pastas e buckets podem ser combinados em um repositório de dados. Para isso, primeiro ingira dados de um local do Cloud Storage e, em seguida, mais dados de outro local. | Como a importação de dados manual não é compatível, os dados em um repositório de dados de entidade só podem ser provenientes de um arquivo ou pasta do Cloud Storage. |
| O controle de acesso à fonte de dados é compatível. Para mais informações, consulte Controle de acesso à fonte de dados. | Não há suporte para o controle de acesso à fonte de dados. Os dados importados podem conter controles de acesso, mas eles não serão respeitados. |
| É possível criar um repositório de dados usando o console ou a API doGoogle Cloud . | É necessário usar o console para criar conectores de dados e os repositórios de dados de entidade deles. |
| Compatível com CMEK. | compatível com CMEK. |
Antes de começar
Para importar dados de um projeto de origem Google Cloud diferente do
projetoGoogle Cloud com o repositório de dados do Gemini Enterprise, conceda os seguintes
papéis do Identity and Access Management (IAM) à
conta de serviço
service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
no projeto que contém o repositório de dados do Gemini Enterprise:
- Administrador de objetos do Storage (
roles/storage.objectAdmin) - Leitor de objetos do Storage (
roles/storage.objectViewer)
Importar uma vez do Cloud Storage
Para ingerir dados do Cloud Storage, siga estas etapas para criar um repositório de dados e ingerir dados usando o console do Google Cloud ou a API.
Antes de importar os dados, consulte Preparar dados para ingestão.
Console
Para usar o console e ingerir dados de um bucket do Cloud Storage, siga estas etapas:
No console Google Cloud , acesse a página Gemini Enterprise.
Acesse a página Repositório de dados.
Clique em Criar armazenamento de dados.
Na página Selecionar uma fonte de dados, escolha Cloud Storage.
Na seção Selecionar uma pasta ou um arquivo para importar, selecione Pasta ou Arquivo.
Clique em Procurar e escolha os dados que você preparou para ingestão. Em seguida, clique em Selecionar. Se preferir, insira o local diretamente no campo
gs://.Selecione o tipo de dados que você está importando.
Clique em Continuar.
Se você estiver fazendo uma importação única de dados estruturados:
Mapeie os campos para as propriedades principais.
Se houver campos importantes faltando no esquema, use Adicionar novo campo para incluí-los.
Para mais informações, consulte Sobre a detecção e edição automáticas.
Clique em Continuar.
Escolha uma região para o repositório de dados.
Insira um nome para o repositório de dados.
Opcional: se você selecionou documentos não estruturados, é possível selecionar opções de análise e divisão em partes para seus documentos. Para comparar analisadores, consulte Analisar documentos. Para informações sobre a divisão em blocos, consulte Dividir documentos em blocos para RAG.
O analisador de OCR e o analisador de layout podem gerar custos adicionais. Consulte os preços dos recursos de IA do Document AI.
Para selecionar um analisador, abra Opções de processamento de documentos e especifique as opções que você quer usar.
Clique em Criar.
Para verificar o status da ingestão, acesse a página Repositórios de dados e clique no nome do repositório de dados para conferir os detalhes na página Dados. Quando a coluna de status na guia Atividade mudar de Em andamento para Importação concluída, a ingestão será concluída.
Dependendo do tamanho dos dados, a ingestão pode levar de vários minutos a várias horas.
REST
Para usar a linha de comando para criar um repositório de dados e ingerir dados do Cloud Storage, siga estas etapas.
Crie um repositório de dados.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], "contentConfig": "CONTENT_REQUIRED", }'Substitua:
PROJECT_ID: ID do projeto.DATA_STORE_ID: o ID do repositório de dados que você quer criar. Esse ID só pode conter letras minúsculas, dígitos, sublinhados e hifens.DATA_STORE_DISPLAY_NAME: o nome de exibição do repositório de dados que você quer criar.
Opcional: para configurar a análise de documentos ou ativar a divisão de documentos em blocos para RAG, especifique o objeto
documentProcessingConfige inclua-o na solicitação de criação do repositório de dados. É recomendável configurar um analisador de OCR para PDFs se você estiver ingerindo PDFs digitalizados. Para saber como configurar as opções de análise ou fragmentação, consulte Analisar e fragmentar documentos.Importa dados do Cloud Storage.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "gcsSource": { "inputUris": ["INPUT_FILE_PATTERN_1", "INPUT_FILE_PATTERN_2"], "dataSchema": "DATA_SCHEMA", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'Substitua:
PROJECT_ID: ID do projeto.DATA_STORE_ID: o ID do repositório de dados.INPUT_FILE_PATTERN: um padrão de arquivo no Cloud Storage que contém seus documentos.Para dados estruturados ou não estruturados com metadados, um exemplo do padrão de arquivo de entrada é
gs://<your-gcs-bucket>/directory/object.json, e um exemplo de padrão que corresponde a um ou mais arquivos égs://<your-gcs-bucket>/directory/*.json.Para documentos não estruturados, um exemplo é
gs://<your-gcs-bucket>/directory/*.pdf. Cada arquivo que corresponde ao padrão se torna um documento.Se
<your-gcs-bucket>não estiver emPROJECT_ID, você precisará conceder à conta de serviçoservice-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.comas permissões de "Leitor de objetos do Storage" para o bucket do Cloud Storage. Por exemplo, se você estiver importando um bucket do Cloud Storage do projeto de origem "123" para o projeto de destino "456", conceda permissõesservice-456@gcp-sa-discoveryengine.iam.gserviceaccount.comno bucket do Cloud Storage no projeto "123".DATA_SCHEMA: opcional. Os valores sãodocument,custom,csvecontent. O padrão édocument.document: faça upload de dados não estruturados com metadados para documentos não estruturados. Cada linha do arquivo precisa seguir um dos formatos abaixo. É possível definir o ID de cada documento:{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }{ "id": "<your-id>", "structData": <JSON object>, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
custom: faça upload do JSON para documentos estruturados. Os dados são organizados de acordo com um esquema. É possível especificar o esquema. Caso contrário, ele será detectado automaticamente. É possível colocar a string JSON do documento em um formato consistente diretamente em cada linha, e o Gemini Enterprise gera automaticamente os IDs para cada documento importado.content: faça upload de documentos não estruturados (PDF, HTML, DOC, TXT, PPTX). O ID de cada documento é gerado automaticamente como os primeiros 128 bits de SHA256(GCS_URI) codificados como uma string hexadecimal. É possível especificar vários padrões de arquivo de entrada, desde que os arquivos correspondentes não excedam o limite de 100 mil arquivos.csv: inclua uma linha de cabeçalho no arquivo CSV, com cada cabeçalho mapeado para um campo de documento. Especifique o caminho para o arquivo CSV usando o campoinputUris.
ERROR_DIRECTORY: opcional. Um diretório do Cloud Storage para informações de erro sobre a importação, por exemplo,gs://<your-gcs-bucket>/directory/import_errors. O Google recomenda deixar esse campo em branco para que o Gemini Enterprise crie automaticamente um diretório temporário.RECONCILIATION_MODE: opcional. Os valores sãoFULLeINCREMENTAL. O padrão éINCREMENTAL. EspecificarINCREMENTALcausa uma atualização incremental dos dados do Cloud Storage para o repositório de dados. Isso faz uma operação de upsert, que adiciona novos documentos e substitui os documentos existentes por documentos atualizados com o mesmo ID. EspecificarFULLcausa uma troca de base completa dos documentos no seu repositório de dados. Em outras palavras, os documentos novos e atualizados são adicionados ao repositório de dados, e os documentos que não estão no Cloud Storage são removidos do repositório de dados. O modoFULLé útil se você quiser excluir automaticamente documentos que não são mais necessários.AUTO_GENERATE_IDS: opcional. Especifica se os IDs de documento devem ser gerados automaticamente. Se definido comotrue, os IDs de documento serão gerados com base em um hash do payload. Os IDs de documento gerados podem não permanecer consistentes em várias importações. Se você gerar IDs automaticamente em várias importações, o Google recomenda definirreconciliationModecomoFULLpara manter IDs de documento consistentes.Especifique
autoGenerateIdssomente quandogcsSource.dataSchemaestiver definido comocustomoucsv. Caso contrário, um erroINVALID_ARGUMENTserá retornado. Se você não especificarautoGenerateIdsou defini-lo comofalse, será necessário especificaridField. Caso contrário, os documentos não serão importados.ID_FIELD: opcional. Especifica quais campos são os IDs de documento. Para documentos de origem do Cloud Storage,idFieldespecifica o nome nos campos JSON que são IDs de documento. Por exemplo, se{"my_id":"some_uuid"}for o campo de ID do documento em um dos seus documentos, especifique"idField":"my_id". Isso identifica todos os campos JSON com o nome"my_id"como IDs de documento.Especifique esse campo somente quando: (1)
gcsSource.dataSchemaestiver definido comocustomoucsve (2)auto_generate_idsestiver definido comofalseou não estiver especificado. Caso contrário, um erroINVALID_ARGUMENTserá retornado.O nome do campo JSON especificado por
id_fieldprecisa ser do tipo string, ter entre 1 e 63 caracteres e estar em conformidade com a RFC-1034. Caso contrário, os documentos não serão importados.
Conectar-se ao Cloud Storage com sincronização periódica
Antes de importar os dados, consulte Preparar dados para ingestão.
O procedimento a seguir descreve como criar um conector de dados que associa um local do Cloud Storage a um conector de dados do Gemini Enterprise e como especificar uma pasta ou um arquivo nesse local para o repositório de dados que você quer criar. Os repositórios de dados que são filhos de conectores de dados são chamados de repositórios de dados de entidade.
Os dados são sincronizados periodicamente com o repositório de dados da entidade. É possível especificar a sincronização diária, a cada três dias ou a cada cinco dias.
Console
No console Google Cloud , acesse a página Gemini Enterprise.
Acesse a página Repositório de dados.
Clique em Criar armazenamento de dados.
Na página Origem, selecione Cloud Storage.
Selecione o tipo de dados que você está importando.
Clique em Periódico.
Selecione a Frequência de sincronização, ou seja, com que frequência você quer que o conector do Gemini Enterprise seja sincronizado com o local do Cloud Storage. Você pode mudar a frequência depois.
Na seção Selecionar uma pasta ou um arquivo para importar, selecione Pasta ou Arquivo.
Clique em Procurar e escolha os dados que você preparou para ingestão. Em seguida, clique em Selecionar. Se preferir, insira o local diretamente no campo
gs://.Clique em Continuar.
Escolha uma região para o conector de dados.
Insira um nome para o conector de dados.
Opcional: se você selecionou documentos não estruturados, é possível selecionar opções de análise e divisão em partes para seus documentos. Para comparar analisadores, consulte Analisar documentos. Para informações sobre a divisão em blocos, consulte Dividir documentos em blocos para RAG.
O analisador de OCR e o analisador de layout podem gerar custos adicionais.
Para selecionar um analisador, abra Opções de processamento de documentos e especifique as opções que você quer usar.
Clique em Criar.
Você criou um conector de dados, que vai sincronizar periodicamente os dados com o local do Cloud Storage. Você também criou um repositório de dados de entidade, chamado
gcs_store.Para verificar o status da ingestão, acesse a página Repositórios de dados e clique no nome do conector de dados para conferir os detalhes na página Dados.
Guia Atividade de ingestão de dados. Quando a coluna de status na guia Atividade de ingestão de dados mudar de Em andamento para Concluída, a primeira ingestão estará concluída.
Dependendo do tamanho dos dados, a ingestão pode levar de vários minutos a várias horas.
Depois de configurar a fonte de dados e importar os dados pela primeira vez, as informações são sincronizadas com uma frequência que você seleciona durante a configuração. Cerca de uma hora após a criação do conector de dados, ocorre a primeira sincronização. A próxima sincronização ocorre cerca de 24, 72 ou 120 horas depois.
Próximas etapas
Para anexar seu repositório de dados a um app, crie um app e selecione o repositório seguindo as etapas em Criar um app de pesquisa.
Para ver como os resultados da pesquisa aparecem depois que o app e o repositório de dados são configurados, consulte Visualizar resultados da pesquisa.