Instalar o AlloyDB Omni com o AlloyDB AI

Esta página mostra como instalar o AlloyDB Omni e integrar o AlloyDB AI nele.

A AlloyDB AI é um pacote de recursos incluídos no AlloyDB Omni que permite criar aplicativos corporativos de IA generativa. Para mais informações sobre a funcionalidade de ML do AlloyDB, consulte Criar aplicativos de IA generativa.

O AlloyDB Omni com a IA do AlloyDB permite consultar modelos de ML remotos para trabalhar com previsões on-line e embeddings de texto gerados a partir de modelos de ML. O AlloyDB Omni com o AlloyDB AI também pode processar embeddings de vetores de outro conteúdo, como uma imagem, por exemplo, se você usar a interface google_ml.predict_row e fizer a tradução na consulta.

Com base no local em que você quer instalar o AlloyDB Omni com a IA do AlloyDB, selecione uma das seguintes opções:

Configurar a instância do AlloyDB Omni para consultar modelos remotos

Para configurar o AlloyDB Omni para consultar modelos remotos, siga estas etapas:

  1. Crie uma conta de serviço com Google Cloud.

  2. Crie uma chave de conta de serviço no formato JSON e faça o download dela.

  3. Armazene a chave em um local permanente no sistema de arquivos. Ele fica nesse local durante toda a vida útil do servidor do AlloyDB Omni.

    Anote o local dele no sistema de arquivos, porque você vai precisar dele na próxima etapa.

  4. Adicione as permissões do Identity and Access Management (IAM) do Vertex AI ao projeto e à conta de serviço apropriados.

       gcloud projects add-iam-policy-binding PROJECT_ID \
           --member="serviceAccount:SERVICE_ACCOUNT_ID" \
           --role="roles/aiplatform.user"

    Substitua:

    • PROJECT_ID: o ID do projeto Google Cloud .

    • SERVICE_ACCOUNT_ID: o ID da conta de serviço que você criou na etapa anterior. Isso inclui o sufixo @PROJECT_ID.iam.gserviceaccount.com completo, por exemplo, my-service@my-project.iam.gserviceaccount.com.

Instalar o AlloyDB Omni com o AlloyDB AI

Para instalar o AlloyDB Omni e integrar o AlloyDB AI, siga estas etapas:

  1. Verifique se você concluiu todas as etapas listadas em Configurar o AlloyDB Omni para consultar modelos baseados na nuvem.

  2. Faça uma cópia local do arquivo de configuração padrão do AlloyDB Omni:

       docker run -i --rm google/alloydbomni:15.5.4 cat /usr/share/postgresql/postgresql.conf.sample > my-postgres.conf
  3. Edite a cópia do arquivo de configuração para adicionar instruções à integração da IA do AlloyDB:

       echo "omni_enable_ml_agent_process = 'on'" >> my-postgres.conf
       echo "omni_google_cloud_private_key_file_path = '/etc/postgresql/private-key.json'" >> my-postgres.conf
  4. Ajuste as permissões do sistema de arquivos dos arquivos de chave e de configuração:

       sudo chmod +r my-postgres.conf
       sudo chmod +r KEY_PATH

    Substitua KEY_PATH pelo caminho para o arquivo de chave privada da conta de serviço no sistema de arquivos do host. Essa é a chave que você criou e fez o download anteriormente neste procedimento.

  5. Instale a chave e os arquivos de configuração montados no contêiner:

       docker run --name CONTAINER_NAME -e POSTGRES_PASSWORD=NEW_PASSWORD -p HOST_PORT:5432 -v "$PWD/my-postgres.conf":/etc/postgresql/postgresql.conf -v "FULL_KEY_PATH":/etc/postgresql/private-key.json -d google/alloydbomni:15.5.4 -c 'config_file=/etc/postgresql/postgresql.conf'

    Substitua:

    • CONTAINER_NAME: o nome para atribuir a este novo contêiner de método de instalação simplificado do AlloyDB Omni no registro de contêineres da máquina host, por exemplo, my-omni-1.

    • NEW_PASSWORD: a senha atribuída ao usuário postgres do novo contêiner após a criação.

    • HOST_PORT: a porta TCP na máquina host para a qual o contêiner precisa publicar a própria porta 5432. Para usar a porta padrão do PostgreSQL na máquina host, especifique 5432.

    • FULL_KEY_PATH: o caminho completo do sistema de arquivos para o arquivo de chave privada da conta de serviço no sistema host.

Verificar o AlloyDB Omni com a instalação do AlloyDB AI

Para verificar se a instalação foi concluída e usa a previsão de modelo, digite o seguinte:

   CREATE EXTENSION google_ml_integration CASCADE;

   SELECT array_dims(embedding( 'textembedding-gecko@001', 'AlloyDB AI')::real[]);
   array_dims

A saída será assim:

    [1:768]
    (1 row)

Na consulta anterior, a chamada embedding() gera embeddings para o texto de entrada AlloyDB AI. array_dims retorna as dimensões da matriz retornada por embedding(). Como o modelo textembedding-gecko pré-registrado retorna uma saída com 768 dimensões, a saída é [768].

A seguir