Instalar o AlloyDB Omni com o AlloyDB AI

Selecione uma versão da documentação:

Nesta página, mostramos como instalar o AlloyDB Omni e integrar o AlloyDB AI.

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

Com o AlloyDB Omni e o AlloyDB AI, é possível consultar modelos de ML remotos usando a extensão google_ml_integration para trabalhar com previsões on-line e embeddings de texto gerados por modelos de ML. O AlloyDB Omni com a IA do AlloyDB também pode processar embeddings vetoriais de outros conteúdos, como uma imagem, por exemplo, se você usar a interface google_ml.predict_row e fizer a tradução por conta própria na consulta.

Configurar Google Cloud para consultar modelos remotos

Se você quiser consultar modelos da Vertex AI, configure uma conta de serviço do AlloyDB Omni com a Vertex AI antes de instalar o AlloyDB Omni.

Para configurar uma conta de serviço para consultar modelos remotos, siga estas etapas:

  1. Crie uma conta de serviço com Google Cloud. Você concede a essa conta de serviço permissões para acessar a Vertex AI em uma etapa posterior.

  2. Crie uma chave de conta de serviço e salve-a no formato JSON no arquivo private-key.json e faça o download dela.

  3. Copie a chave da conta de serviço que você criou para KEY_PATH. O caminho da chave precisa ser um caminho no host acessível e de propriedade do usuário que vai executar o AlloyDB Omni.

  4. Ative a API Vertex AI no seu projeto Google Cloud .

    gcloud services enable aiplatform.googleapis.com
    
  5. Adicione permissões do Identity and Access Management (IAM) da Vertex AI ao projeto e à conta de serviço adequados.

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

    Substitua:

    • PROJECT_ID: ID do seu projeto do Google Cloud .

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

  1. Instale o pacote RPM do AlloyDB Omni.

Configurar o AlloyDB AI para o AlloyDB Omni

Depois de instalar o pacote RPM do AlloyDB Omni, siga estas etapas para integrar o AlloyDB AI:

  1. Conclua todas as etapas listadas em Configurar Google Cloud para consultar modelos remotos.

  2. Mova a chave da conta de serviço para o diretório de dados do AlloyDB Omni.

    sudo mv KEY_PATH DATA_DIR/private-key.json

    Substitua as seguintes variáveis:

    • KEY_PATH: caminho para o arquivo de chave da conta de serviço.
    • DATA_DIR: caminho do diretório do host em que seus dados são armazenados.
  3. Defina o proprietário da chave da conta de serviço como postgres e as permissões como 600.

    sudo chown postgres:postgres DATA_DIR/private-key.json
    sudo chmod 600 DATA_DIR/private-key.json
  4. Atualize a configuração do AlloyDB Omni adicionando as seguintes opções ao arquivo postgresql.conf:

    sudo tee -a DATA_DIR/postgresql.conf << EOF
    omni_enable_ml_agent_process = 'on'
    omni_google_cloud_private_key_file_path = 'DATA_DIR/private-key.json'
    EOF
  5. Reinicie o serviço do AlloyDB Omni.

    sudo systemctl restart alloydbomni18

Conectar usando psql

Para se conectar ao banco de dados do AlloyDB Omni, execute o seguinte comando:

sudo -u postgres /usr/lib/postgresql/18/bin/psql -U postgres

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

Para verificar se a instalação foi bem-sucedida e usa a previsão do modelo, digite o seguinte:

CREATE EXTENSION IF NOT EXISTS google_ml_integration CASCADE;

SELECT array_dims(embedding('text-embedding-005', 'AlloyDB AI')::real[]);

A saída será assim:

array_dims
------------
[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 text-embedding-005 retorna uma saída com 768 dimensões, a saída é [768].

A seguir