É possível criar repositórios de dados 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 a frequência com que 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). | Pré-lançamento público. |
| 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 de 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 pasta especificado. 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 manual de dados é indisponível, os dados em um repositório de dados de entidade só podem ser originados 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. | O controle de acesso à fonte de dados não é compatível. 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 Google Cloud console ou a API. | É necessário usar o console para criar conectores de dados e os repositórios de dados de entidades. |
| Compatível com CMEK. | Compatível com CMEK. |
Antes de começar
Para importar dados de um projeto de origem Google Cloud diferente doGoogle Cloud projeto com o repositório de dados do Gemini Enterprise, conceda os seguintes papéis do Identity and Access Management (IAM) àservice-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com conta de serviço 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 Google Cloud console 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 Google Cloud console, 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ê tem preparado para ingestão e clique em Selecionar. Como alternativa, 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 principais propriedades.
Se houver campos importantes ausentes no esquema, use Adicionar novo campo para adicioná-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 para seus documentos. Para comparar analisadores, consulte Analisar documentos. Para informações sobre a divisão, consulte Dividir documentos para RAG.
O analisador de OCR e o analisador de layout podem gerar custos adicionais. Consulte os preços dos recursos da Document AI.
Para selecionar um analisador, expanda Opções de processamento de documentos e especifique as opções do analisador 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 pode conter apenas 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 para RAG, especifique o
documentProcessingConfigobjeto e 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 opções de análise ou divisão, consulte Analisar e dividir documentos.Importe 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.jsone 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 correspondente ao padrão se torna um documento.Se
<your-gcs-bucket>não estiver emPROJECT_ID, será necessário conceder à conta de serviçoservice-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.compermissõ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", concedaservice-456@gcp-sa-discoveryengine.iam.gserviceaccount.compermissões no bucket do Cloud Storage no projeto "123".DATA_SCHEMA: opcional. Os valores sãodocument,custom,csv, econtent. 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 seguintes formatos. É 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 de 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 de 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 oinputUriscampo.
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 permitir que o Gemini Enterprise crie automaticamente um diretório temporário.RECONCILIATION_MODE: opcional. Os valores sãoFULLeINCREMENTAL. O padrão éINCREMENTAL. A especificação deINCREMENTALcausa uma atualização incremental dos dados do Cloud Storage para o seu repositório de dados. Isso faz uma operação de upsert, que adiciona novos documentos e substitui os documentos criados por documentos atualizados, com o mesmo ID. A especificação deFULLcausa uma nova base completa dos documentos no seu repositório de dados. Em outras palavras, 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 documentos serão gerados automaticamente. Se definido comotrue, os IDs de documentos serão gerados com base em um hash do payload. Os IDs de documentos 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 documentos 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 documentos. Para documentos de origem do Cloud Storage,idFieldespecifica o nome nos campos JSON que são IDs de documentos. 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 documentos.Especifique esse campo somente quando: (1)
gcsSource.dataSchemaestiver definido comocustomoucsve (2)auto_generate_idsestiver definido comofalseou não 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 o 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 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 diariamente, 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, a frequência com que você quer que o conector do Gemini Enterprise seja sincronizado com o local do Cloud Storage. É possível mudar a frequência mais tarde.
Na seção Selecionar uma pasta ou um arquivo para importar, selecione Pasta ou Arquivo.
Clique em Procurar e escolha os dados que você tem preparado para ingestão e clique em Selecionar. Como alternativa, insira o local diretamente no campo
gs://.Clique em Continuar.
Selecione 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 para seus documentos. Para comparar analisadores, consulte Analisar documentos. Para informações sobre a divisão, consulte Dividir documentos para RAG.
O analisador de OCR e o analisador de layout podem gerar custos adicionais.
Para selecionar um analisador, expanda Opções de processamento de documentos e especifique as opções do analisador que você quer usar.
Clique em Criar.
Agora você criou um conector de dados, que vai sincronizar dados periodicamente 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 Data atividade de ingestão mudar de Em andamento para concluído, a primeira ingestão será 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, os dados serão sincronizados dessa fonte com uma frequência que você selecionar durante a configuração. Cerca de uma hora após a criação do conector de dados, a primeira sincronização ocorre. A próxima sincronização ocorre cerca de 24 horas, 72 horas 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 de dados 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.