Visão geral

Os conectores personalizados permitem integrar fontes de dados externas que não fazem parte da biblioteca de conectores padrão do Gemini Enterprise, tornando os dados exclusivos da sua organização pesquisáveis e acessíveis usando linguagem natural, com tecnologia do Gemini e da inteligência de pesquisa avançada do Google. O conector personalizado interage diretamente com a API Discovery Engine, que oferece recursos robustos de armazenamento, indexação e pesquisa inteligente de dados. O conector converte as informações de origem no formato de Documento padronizado baseado em JSON (estruturando o conteúdo, os metadados e as listas de controle de acesso (ACLs)) e garante que esses dados sejam organizados em repositórios de dados. Esses repositórios atuam como repositórios lógicos, representando idealmente um único formato de documento, cada um com seu próprio índice e configurações de pesquisa dedicados.

Como os conectores personalizados funcionam

Os conectores personalizados usam um pipeline de dados automatizado para realizar três ações principais: buscar, transformar e sincronizar. Esse processo garante que os dados externos sejam preparados e enviados corretamente para o Gemini Enterprise.

  • Buscar: o conector extrai dados, incluindo documentos, metadados e permissões, do sistema externo usando APIs, bancos de dados ou formatos de arquivo.

  • Transformar: o conector converte dados brutos no formato de documento do Discovery Engine, estrutura o conteúdo e os metadados e atribui um ID exclusivo global a cada documento. Para controles de acesso, você pode usar identidades reconhecidas pelo Google diretamente ou o mapeamento de identidade para usuários externos ou grupos personalizados.

  • Sincronizar: o conector envia os documentos para os repositórios de dados do Gemini Enterprise e os mantém atualizados por meio de jobs programados. A sincronização de dados é realizada usando um repositório de dados criado para uma entidade. Para mais informações sobre como criar um repositório de dados, consulte Processo de criação de repositório de dados. Escolha um modo de sincronização com base nas suas necessidades: incremental adiciona e atualiza dados, enquanto completo substitui todo o conjunto de dados.

ACLs e mapeamento de identidade

Para gerenciar o acesso no nível do documento, escolha entre dois métodos: ACLs puras ou mapeamento de identidade, dependendo do formato de identidade usado pelos dados.

  • ACLs puras (AclInfo): esse método é usado quando a fonte de dados usa identidades baseadas em e-mail reconhecidas por (Google Cloud). Essa abordagem é ideal para definir diretamente quem tem acesso.

  • Mapeamento de identidade: esse método é usado quando a fonte de dados usa nomes de usuário, IDs legados ou outros sistemas de identidade externos:

    • Ele estabelece uma associação clara e individual entre grupos de identidade externos (por exemplo, EXT1) e usuários ou grupos de provedores de identidade (IDP) internos (por exemplo, IDPUser1@example.com).

    • Ele permite que o sistema entenda e aplique controles de acesso baseados em grupos do sistema de origem, o que é útil quando uma API retorna rótulos de grupo sem associações de usuários completas ou para dimensionar ACLs com eficiência sem listar milhares de usuários por documento.

    O processo de mapeamento de identidade exige a resolução de todas as estruturas de identidade aninhadas ou hierárquicas em uma lista simples de mapeamentos diretos, normalmente em um formato JSON especificado.

    Use IDs de grupo de identidade externos exclusivos (por exemplo, EXT1) para identidades externas para manter a integridade do sistema. Para mais informações e exemplos, consulte Mapear identidades externas.

Processo de criação de repositório de dados

  1. Criar o repositório de identidade:esse repositório atua como o recurso pai para todos os mapeamentos de identidade. Após a criação, as configurações do provedor de identidade (IDP) para envolvidos no projeto são buscadas automaticamente. Para mais informações, consulte Recuperar ou criar um repositório de identidade.

  2. Carregar mapeamentos de identidade externos no repositório de identidade:depois de criar o repositório de identidade, carregue os dados de identidade externos nele. Para mais informações, consulte Ingerir mapeamento de identidade no repositório de identidade.

  3. Criar e vincular o repositório de dados da entidade:o repositório de dados da entidade só pode ser criado depois que o repositório de identidade for criado e os mapeamentos de identidade forem carregados. Você precisa vincular o repositório de identidade ao repositório de dados da entidade durante a criação. Para mais informações sobre como criar um repositório de dados de entidade, consulte Criar um repositório de dados.

create-data-store-process
Processo de criação de repositório de dados.

Sincronização de dados

Há dois modelos de arquitetura diferentes para sincronizar dados:

  • Modelo de arquitetura 1: upsert incremental:a abordagem de upsert incremental é mais adequada para cenários em que os dados estão sendo transmitidos e exigem atualizações em tempo real. O conector aproveita a API Discovery Engine para realizar upserts incrementais eficientes (inserindo ou atualizando dados) chamando as funções apropriadas com pequenas mudanças à medida que ocorrem. Esse foco em tamanhos de mudança mínimos e atraso mínimo mantém o repositório de documentos altamente atualizado, mesmo com dados que mudam rapidamente.

  • Modelo de arquitetura 2: sincronização abrangente com o Google Cloud Storage:essa abordagem recomendada oferece um conjunto abrangente de recursos de gerenciamento de dados e alta flexibilidade. Ele oferece suporte a sincronizações completas, que permitem a inserção, atualização e exclusão de dados em todo o conjunto de dados, e sincronizações incrementais, que processam apenas inserções e atualizações enviando mudanças. Isso torna a abordagem robusta para uma ampla variedade de necessidades de dados, principalmente para gerenciar operações de dados maiores ou mais complexas. Esse modelo usa um processo de preparação (etapa 1 no diagrama) em que o conector primeiro grava os dados no Google Cloud armazenamento (GCS) e, em seguida, aproveita a API Discovery Engine para atualizar o repositório de documentos chamando as funções de importação necessárias do local do GCS preparado.

Os conectores personalizados são flexíveis o suficiente para oferecer suporte a uma arquitetura híbrida, permitindo implementar upsert incremental para dados que mudam rapidamente e sincronização abrangente para atualizações ou exclusões completas de dados programadas.

Opções de sincronização de dados do conector personalizado
Opções de sincronização de dados.