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
É possível consultar modelos remotos usando o gerenciamento de endpoints de modelo ativando googleMLExtension
no manifesto do cluster do banco de dados.
Se quiser consultar modelos da Vertex AI, configure a conta de serviço do AlloyDB com a Vertex AI, crie um segredo do Kubernetes usando a chave e defina o segredo do Kubernetes no manifesto do cluster do banco de dados.
Opcional: adicione as permissões da Vertex AI à conta de serviço do AlloyDB
Para configurar o AlloyDB Omni a fim de consultar modelos remotos da Vertex AI, siga estas etapas:
Crie uma conta de serviço com o Google Cloud.
Crie uma chave da conta de serviço, salve-a no formato JSON no arquivo
private-key.json
e faça o download dela.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 dela no sistema de arquivos, porque você vai precisar dele nas etapas seguintes.
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
.
Opcional: crie um secret do Kubernetes usando a chave da conta de serviço
Para criar um secret do Kubernetes com base na chave da conta de serviço salva nas etapas anteriores, execute o seguinte comando:
kubectl create secret generic SECRET_NAME \
--from-file=PATH_TO_SERVICE_ACCOUNT_KEY/private-key.json \
-n NAMESPACE
Substitua:
SECRET_NAME
: o nome do secret usado ao criar um manifestoDBCluster
para permitir que o AlloyDB Omni acesse os recursos da IA do AlloyDB. Por exemplo,vertex-ai-key-alloydb
.PATH_TO_SERVICE_ACCOUNT_KEY
: o caminho para o local em que você fez o download da chave da conta de serviçoprivate-key.json
.NAMESPACE
: o namespace do cluster do banco de dados.
Instalar o operador do AlloyDB Omni
Instale o operador do AlloyDB Omni seguindo as etapas listadas em Instalar o operador do AlloyDB Omni.
Criar um cluster de banco de dados com a IA do AlloyDB
Crie um cluster de banco de dados com a IA do AlloyDB.
Quando você define
enabled
comotrue
no campogoogleMLExtension
, é possível consultar modelos remotos. Defina overtexAIKeyRef
como o secret do Kubernetes se quiser consultar modelos da Vertex AI.apiVersion: v1 kind: Secret metadata: name: db-pw-DB_CLUSTER_NAME type: Opaque data: DB_CLUSTER_NAME: "ENCODED_PASSWORD" --- apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME spec: databaseVersion: "15.7.0" primarySpec: adminUser: passwordRef: name: db-pw-DB_CLUSTER_NAME features: googleMLExtension: enabled: true config: vertexAIKeyRef: VERTEX_AI_SECRET_NAME vertexAIRegion: VERTEX_AI_REGION resources: cpu: CPU_COUNT memory: MEMORY_SIZE disks: - name: DataDisk size: DISK_SIZE storageClass: standard
Substitua:
DB_CLUSTER_NAME
: o nome do cluster de banco de dados. Por exemplo,my-db-cluster
.VERTEX_AI_SECRET_NAME
(opcional): o secret da Vertex AI criado nas etapas anteriores. É necessário definir essa opção se você quiser chamar modelos da Vertex AI.VERTEX_AI_REGION
(opcional): o endpoint regional da Vertex AI para o qual você quer enviar a solicitação, por exemplo,us-west4
. O valor padrão éus-central1
.ENCODED_PASSWORD
: a senha de login do banco de dados para a função do usuáriopostgres
padrão, codificada como uma string base64. Por exemplo,Q2hhbmdlTWUxMjM=
paraChangeMe123
.CPU_COUNT
: o número de CPUs disponíveis para cada instância de banco de dados neste cluster de banco de dados.MEMORY_SIZE
: a quantidade de memória por instância do banco de dados deste cluster de banco de dados. Recomendamos definir esse valor como 8 gigabytes por CPU. Por exemplo, se você definircpu
como2
anteriormente neste manifesto, recomendamos definirmemory
como16Gi
.DISK_SIZE
: o tamanho do disco por instância do banco de dados, por exemplo,10Gi
.
Aplique o manifesto.
kubectl apply -f DB_CLUSTER_YAML
Substitua:
DB_CLUSTER_YAML
: o nome do arquivo de manifesto do cluster do banco de dados. Por exemplo,alloydb-omni-db-cluster.yaml
.
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 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
- Executar e se conectar ao AlloyDB Omni
- Gerenciar o AlloyDB Omni
- Criar aplicativos de IA generativa usando a AlloyDB AI
- Registrar e chamar modelos de IA remotos