É possível criar repositórios de dados com base em tabelas do BigQuery de duas maneiras:
Ingestão única: você importa dados de uma tabela do BigQuery para um repositório de dados. Os dados no repositório de dados não mudam, a menos que você atualize manualmente.
Ingestão periódica: você importa dados de uma ou mais tabelas do BigQuery e define uma frequência de sincronização que determina a frequência com que os armazenamentos de dados são atualizados com os dados mais recentes do conjunto de dados do BigQuery.
A tabela a seguir compara as duas maneiras de importar dados do BigQuery 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 1, 3 ou 5 dias. Não é possível atualizar os dados manualmente. |
O Gemini Enterprise cria um único repositório de dados com base em uma tabela no BigQuery. | O Gemini Enterprise cria um conector de dados para um conjunto de dados do BigQuery e um repositório de dados (chamado de repositório de dados de entidade) para cada tabela especificada. Para cada conector de dados, as tabelas precisam ter o mesmo tipo de dados (por exemplo, estruturados) e estar no mesmo conjunto de dados do BigQuery. |
Os dados de várias tabelas podem ser combinados em um repositório de dados. Primeiro, ingira os dados de uma tabela e depois mais dados de outra fonte ou tabela do BigQuery. | Como a importação manual de dados não é compatível, os dados em um repositório de dados de entidade só podem ser originados de uma tabela do BigQuery. |
O controle de acesso à fonte de dados é compatível. | 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 consoleGoogle Cloud ou a API. | Você precisa usar o console para criar conectores de dados e os armazenamentos de dados de entidades deles. |
Compatível com CMEK. | Compatível com CMEK. |
Importar uma vez do BigQuery
Para ingerir dados de uma tabela do BigQuery, siga estas etapas para criar um repositório de dados e ingerir dados usando o console Google Cloud ou a API.
Antes de importar seus dados, consulte Preparar dados para ingestão.
Console
Para usar o Google Cloud console e ingerir dados do BigQuery, 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 Selecione uma fonte de dados, escolha BigQuery.
Selecione o tipo de dados que você está importando.
Clique em Uma vez.
No campo Caminho do BigQuery, clique em Procurar, selecione uma tabela que você preparou para ingestão e clique em Selecionar. Se preferir, insira o local da tabela diretamente no campo Caminho do BigQuery.
Clique em Continuar.
Se você estiver fazendo uma importação única de dados estruturados:
Mapear campos para propriedades principais.
Se houver campos importantes faltando no esquema, use Adicionar novo campo para incluir.
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.
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 e criar um repositório de dados e importar dados do BigQuery, 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"] }'
Substitua:
PROJECT_ID
: ID do projeto.DATA_STORE_ID
: o ID do repositório de dados que você quer criar. Ele só pode conter letras minúsculas, dígitos, sublinhados e hífens.DATA_STORE_DISPLAY_NAME
: o nome de exibição do repositório de dados que você quer criar.
Opcional: se você estiver enviando dados não estruturados e quiser configurar a análise de documentos ou ativar o fragmentação de documentos para RAG, especifique o objeto
documentProcessingConfig
e inclua-o na solicitação de criação do repositório de dados. Recomendamos 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 em partes, consulte Analisar e dividir documentos.Importe dados do BigQuery.
Se você definiu um esquema, verifique se os dados estão em conformidade com ele.
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 '{ "bigquerySource": { "projectId": "PROJECT_ID", "datasetId":"DATASET_ID", "tableId": "TABLE_ID", "dataSchema": "DATA_SCHEMA", "aclEnabled": "BOOLEAN" }, "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.DATASET_ID
: o ID do conjunto de dados do BigQuery.TABLE_ID
: o ID da tabela do BigQuery.- Se a tabela do BigQuery não estiver em
PROJECT_ID
, conceda à conta de serviçoservice-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com
a permissão "Leitor de dados do BigQuery" para a tabela do BigQuery. Por exemplo, se você estiver importando uma tabela do BigQuery do projeto de origem "123" para o projeto de destino "456", conceda permissõesservice-456@gcp-sa-discoveryengine.iam.gserviceaccount.com
para a tabela do BigQuery no projeto "123".
- Se a tabela do BigQuery não estiver em
DATA_SCHEMA
: opcional. Os valores sãodocument
ecustom
. O padrão édocument
.document
: a tabela do BigQuery usada precisa estar de acordo com o esquema padrão do BigQuery fornecido em Preparar dados para ingestão. Você pode definir o ID de cada documento e incluir todos os dados na string jsonData.custom
: qualquer esquema de tabela do BigQuery é aceito, e o Gemini Enterprise gera automaticamente os IDs de cada documento importado.
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ãoFULL
eINCREMENTAL
. O padrão éINCREMENTAL
. EspecificarINCREMENTAL
causa uma atualização incremental de dados do BigQuery para seu 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. EspecificarFULL
causa uma rebase completa dos documentos no 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 BigQuery são removidos dele. 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 documento 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 definirreconciliationMode
comoFULL
para manter IDs de documento consistentes.Especifique
autoGenerateIds
somente quandobigquerySource.dataSchema
estiver definido comocustom
. Caso contrário, um erroINVALID_ARGUMENT
será retornado. Se você não especificarautoGenerateIds
ou definir comofalse
, precisará especificaridField
. Caso contrário, a importação dos documentos vai falhar.ID_FIELD
: opcional. Especifica quais campos são os IDs de documento. Para arquivos de origem do BigQuery,idField
indica o nome da coluna na tabela do BigQuery que contém os IDs dos documentos.Especifique
idField
somente quando: (1)bigquerySource.dataSchema
estiver definido comocustom
e (2)auto_generate_ids
estiver definido comofalse
ou não especificado. Caso contrário, um erroINVALID_ARGUMENT
será retornado.O valor do nome da coluna do BigQuery precisa ser do tipo string, ter entre 1 e 63 caracteres e estar de acordo com a RFC-1034. Caso contrário, a importação dos documentos vai falhar.
Conectar-se ao BigQuery com sincronização periódica
Antes de importar seus dados, consulte Preparar dados para ingestão.
O procedimento a seguir descreve como criar um repositório de dados do BigQuery que sincroniza periodicamente dados de um conjunto de dados do BigQuery. Se o conjunto de dados tiver várias tabelas, adicione-as ao repositório de dados do BigQuery que você está criando. Cada tabela adicionada é chamada de entidade. O Gemini Enterprise cria um repositório de dados separado para cada entidade. Portanto, ao criar o repositório de dados usando o console do Google Cloud , você recebe uma coleção de repositórios de dados que representam essas entidades de dados ingeridas.
Os dados do conjunto de dados são sincronizados periodicamente com os repositórios de dados de entidades. É possível especificar a sincronização diária, a cada três dias ou a cada cinco dias.
Console
Para criar um repositório de dados que sincroniza periodicamente informações de um conjunto de dados do BigQuery com o Gemini Enterprise, siga estas etapas:
No console Google Cloud , acesse a página Gemini Enterprise.
No menu de navegação, selecione Repositório de dados.
Clique em Criar armazenamento de dados.
Na página Origem, selecione BigQuery.
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 sincronize com o conjunto de dados do BigQuery. É possível mudar a frequência depois.
No campo Caminho do conjunto de dados do BigQuery, clique em Procurar e selecione o conjunto de dados que contém as tabelas preparadas para ingestão. Ou insira o local da tabela diretamente no campo Caminho do BigQuery. O formato do caminho é
projectname.datasetname
.No campo Tabelas a serem sincronizadas, clique em Procurar e selecione uma tabela que contenha os dados desejados para o repositório de dados.
Se houver outras tabelas no conjunto de dados que você quer usar para armazenamentos de dados, clique em Adicionar tabela e especifique essas tabelas também.
Clique em Continuar.
Escolha uma região para o repositório de dados, insira um nome para o conector de dados e clique em Criar.
Agora você criou um conector de dados que vai sincronizar periodicamente os dados com o conjunto de dados do BigQuery. E você criou um ou mais repositórios de dados de entidades. Os repositórios de dados têm os mesmos nomes das tabelas do BigQuery.
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 mudar de Em andamento para Concluída, 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, o repositório de dados sincroniza as informações dessa fonte com uma frequência que você seleciona durante a configuração. Cerca de uma hora depois da criação do conector de dados, a primeira sincronização ocorre. 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.