Estabeleça ligação a dados do AlloyDB for PostgreSQL (pré-visualização)

Pode associar a sua instância do AlloyDB ao Gemini Enterprise, o que permite o acesso em direto aos seus dados.

Em comparação com a importação do AlloyDB, a ligação tem as seguintes vantagens:

  • Evita a necessidade de importar, indexar e duplicar dados.
  • Atualidade máxima dos dados.
  • Sem custos adicionais de indexação e armazenamento.
  • Não é necessário reduzir os dados estruturados a registos uniformes.

Considere as seguintes desvantagens da associação em comparação com a importação:

  • Esta abordagem só suporta consultas estruturadas e não consultas semânticas ou semânticas parciais.
  • A configuração é ligeiramente mais complexa em comparação com a importação dos dados.

Limitações

A ligação ao AlloyDB tem as seguintes limitações:

  • O Gemini Enterprise suporta o controlo de acesso ao nível dos objetos da base de dados, como tabelas e colunas, mas não ao nível de cada utilizador. Todos os utilizadores com acesso à sua app Gemini Enterprise podem ver os mesmos dados.
  • A criação de um repositório de dados do AlloyDB é suportada através da API e não através da Google Cloud consola.

Antes de começar

A ligação ao AlloyDB está em pré-visualização com uma lista de autorizações. Para usar esta funcionalidade, inscreva-se através do seguinte formulário: Ativar/desativar a utilização do Gemini Enterprise e a ligação a dados do AlloyDB

Após a inscrição, aguarde até receber a confirmação da ativação antes de seguir as instruções nesta página.

Configure a linguagem natural da IA do AlloyDB

Este conetor baseia-se na linguagem natural da IA do AlloyDB no AlloyDB, que traduz consultas de linguagem natural em consultas SQL.

Antes de estabelecer a ligação, configure a linguagem natural da IA do AlloyDB na sua base de dados através dos passos descritos no artigo Gere consultas SQL que respondam a perguntas em linguagem natural na documentação do AlloyDB.

Tenha em atenção que a adição de modelos na linguagem natural da IA do AlloyDB (um conjunto organizado de perguntas em linguagem natural com consultas SQL correspondentes) é particularmente útil para a qualidade. Ao adicionar modelos, a Google recomenda o seguinte:

  • Use ORDER BY para evitar o não determinismo. Por exemplo: SELECT customers.id FROM customers ORDER BY customers.id;.

Configure a autenticação entre o Gemini Enterprise e o AlloyDB

O Gemini Enterprise acede ao AlloyDB através de uma conta de serviço dedicada e de um utilizador da base de dados na sua instância do AlloyDB. Com esta abordagem, todos os utilizadores do Gemini Enterprise podem ver os mesmos dados, sem controlo de acesso específico do utilizador.

É usada uma conta de serviço para estabelecer ligação e interagir com a sua instância do AlloyDB. Para ativar esta opção, tem de configurar as definições de gestão de identidade e de acesso (IAM) no Google Cloud projeto onde reside a instância da base de dados.

Para configurar a autenticação, faça o seguinte:

  1. Navegue para a página de configuração do IAM do projeto que alberga a sua instância do AlloyDB.
  2. Conceda a função Cloud AlloyDB Database User ao seguinte principal: service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com

    Substitua PROJECT_NUMBER pelo Google Cloud número do projeto onde usa o Gemini Enterprise.

  3. Na sua instância do AlloyDB, crie um utilizador da base de dados para ser usado pelo Gemini Enterprise para executar consultas SQL.

    É muito importante que conceda a este utilizador acesso só de leitura e apenas para tabelas, vistas e colunas que devem estar acessíveis a partir do Gemini Enterprise. Isto garante que:

    • As consultas do Gemini Enterprise não podem alterar nem eliminar os seus dados. O Gemini Enterprise foi concebido para apenas ler dados da sua base de dados e não alterar nada. No entanto, a Google não pode excluir totalmente a possibilidade de a IA gerar consultas de escrita não intencionais.

    • Os utilizadores do Gemini Enterprise só podem ver os dados que devem ver.

      Por exemplo:

      CREATE ROLE USER_NAME WITH LOGIN PASSWORD 'PASSWORD';
      GRANT SELECT ON TABLE "public"."TABLE_NAME_1" TO USER_NAME;
      GRANT SELECT ON TABLE "public"."TABLE_NAME_2" TO USER_NAME;
      

      Quando associar o Gemini Enterprise ao AlloyDB, indique o nome de utilizador e a palavra-passe nos campos Utilizador e Palavra-passe de alloydbConnectionConfig.

Associe o Gemini Enterprise ao AlloyDB

Para ligar a sua instância do AlloyDB, siga estes passos:

  1. Crie um arquivo de dados no Gemini Enterprise com os detalhes de ligação do AlloyDB através da API, incluindo federatedSearchConfig.alloyDbConfig.

    O exemplo seguinte:

    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/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" -d '{
      "displayName": "DATA_STORE_NAME",
      "federatedSearchConfig": {
        "alloyDbConfig": {
          "alloydbConnectionConfig": {
            "instance": "INSTANCE_PATH",
            "database": "DATABASE_NAME",
            "user": "DATABASE_USER_NAME",
            "password": "DATABASE_USER_PASSWORD",
            "authMode": "AUTH_MODE_SERVICE_ACCOUNT"
          },
          "alloydb_ai_nl_config": { "nlConfigId": "NL_CONFIG_ID" }
        }
      },
      "industryVertical": "GENERIC",
      "solutionTypes": ["SOLUTION_TYPE_SEARCH"]
    }'
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto onde usa o Gemini Enterprise.
    • LOCATION: a localização do seu repositório de dados. Esta deve ser a mesma localização que a sua instância do Gemini Enterprise.

    • DATA_STORE_ID: o ID do armazenamento de dados que quer criar. Este ID só pode conter letras minúsculas, dígitos, sublinhados e hífenes.

    • DATA_STORE_NAME: o nome a apresentar da base de dados que quer criar.

    • INSTANCE_PATH: o caminho da sua instância do AlloyDB, no formato projects/.../locations/.../clusters/.../instances/....

    • DATABASE_NAME: o ID da base de dados do AlloyDB.

    • DATABASE_USER_NAME: o ID do utilizador da base de dados do AlloyDB.

    • DATABASE_USER_PASSWORD: a palavra-passe do utilizador da base de dados do AlloyDB.

    • NL_CONFIG_ID: o ID da configuração de linguagem natural do AlloyDB AI.

  2. Anexe o seu repositório de dados a uma app Gemini Enterprise existente ou crie uma nova app e selecione o conector, seguindo os passos em Criar uma app.

  3. Para pré-visualizar a apresentação dos resultados da pesquisa após a configuração da app, consulte o artigo Pré-visualizar resultados da pesquisa.