Importar do Cloud Storage

É 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:

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:

  1. No Google Cloud console, acesse a página Gemini Enterprise.

    Gemini Enterprise

  2. Acesse a página Repositório de dados.

  3. Clique em Criar armazenamento de dados.

  4. Na página Selecionar uma fonte de dados, escolha Cloud Storage.

  5. Na seção Selecionar uma pasta ou um arquivo para importar, selecione Pasta ou Arquivo.

  6. 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://.

  7. Selecione o tipo de dados que você está importando.

  8. Clique em Continuar.

  9. Se você estiver fazendo uma importação única de dados estruturados:

    1. Mapeie os campos para as principais propriedades.

    2. 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.

    3. Clique em Continuar.

  10. Escolha uma região para o repositório de dados.

  11. Insira um nome para o repositório de dados.

  12. 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.

  13. Clique em Criar.

  14. 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.

  1. 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 documentProcessingConfig objeto 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.

  2. 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 em PROJECT_ID, será necessário conceder à conta de serviço service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com 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 service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com permissões no bucket do Cloud Storage no projeto "123".

    • DATA_SCHEMA: opcional. Os valores são document, custom, csv, e content. 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 o inputUris campo.

    • 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ão FULL e INCREMENTAL. O padrão é INCREMENTAL. A especificação de INCREMENTAL causa 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 de FULL causa 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 modo FULL é ú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 como true, 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 definir reconciliationMode como FULL para manter IDs de documentos consistentes.

      Especifique autoGenerateIds somente quando gcsSource.dataSchema estiver definido como custom ou csv. Caso contrário, um erro INVALID_ARGUMENT será retornado. Se você não especificar autoGenerateIds ou defini-lo como false, será necessário especificar idField. 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, idField especifica 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.dataSchema estiver definido como custom ou csv e (2) auto_generate_ids estiver definido como false ou não especificado. Caso contrário, um erro INVALID_ARGUMENT será retornado.

      O nome do campo JSON especificado por id_field precisa 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

  1. No console Google Cloud , acesse a página Gemini Enterprise.

    Gemini Enterprise

  2. Acesse a página Repositório de dados.

  3. Clique em Criar armazenamento de dados.

  4. Na página Origem, selecione Cloud Storage.

  5. Selecione o tipo de dados que você está importando.

  6. Clique em Periódico.

  7. 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.

  8. Na seção Selecionar uma pasta ou um arquivo para importar, selecione Pasta ou Arquivo.

  9. 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://.

  10. Clique em Continuar.

  11. Selecione uma região para o conector de dados.

  12. Insira um nome para o conector de dados.

  13. 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.

  14. 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.

  15. 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.