Importar do Cloud Storage

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

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:

  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 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ê preparou para ingestão. Em seguida, clique em Selecionar. Se preferir, 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 propriedades principais.

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

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

  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 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 documentProcessingConfig 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 as opções de análise ou fragmentação, consulte Analisar e fragmentar documentos.

  2. 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 em PROJECT_ID, você precisará conceder à conta de serviço service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com as 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ões service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com 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 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 campo inputUris.

    • 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ão FULL e INCREMENTAL. O padrão é INCREMENTAL. Especificar INCREMENTAL causa 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. Especificar FULL causa 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 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 documento devem ser gerados automaticamente. Se definido como true, 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 definir reconciliationMode como FULL para manter IDs de documento 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 documento. Para documentos de origem do Cloud Storage, idField especifica 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.dataSchema estiver definido como custom ou csv e (2) auto_generate_ids estiver definido como false ou não estiver 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 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

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

  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ê preparou para ingestão. Em seguida, clique em Selecionar. Se preferir, insira o local diretamente no campo gs://.

  10. Clique em Continuar.

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

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

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