Para resolver problemas de treinamento de modelo, preparação de consultas e fallback de desempenho ao executar funções de IA otimizadas no AlloyDB para PostgreSQL, aplique as correções recomendadas para os avisos ou erros retornados pelas consultas.
O desempenho pode ser reduzido. A função de IA otimizada não está disponível
Descrição
Esse aviso indica que a consulta voltou a usar o
LLM. Isso ocorre quando a função otimizada ainda está em treinamento, nunca foi
preparada, falhou na verificação de validação de acurácia do ambiente de execução ou se as colunas de conteúdo e
embedding referenciadas na função ai.if() não pertencem à
mesma tabela. Para tabelas menores, o modelo de proxy pode não generalizar bem, e a acurácia geralmente é menor que
95%. Por isso, o AlloyDB usa o LLM por padrão.
Exemplo de consulta que causa o erro
EXECUTE positive_reviews_query;
Correção recomendada
- Aguarde a conclusão do treinamento da função otimizada.
- Verifique se a consulta está preparada corretamente usando a instrução
PREPARE. - Verifique se as colunas de conteúdo e embedding referenciadas na função
ai.if()pertencem à mesma tabela. - As funções otimizadas (pré-lançamento) são mais adequadas para tabelas maiores. Você também pode usar funções de IA baseadas em matriz para melhorar o desempenho.
Se você quiser ignorar a verificação de precisão do ambiente de execução (por exemplo, em ambientes de desenvolvimento), defina
google_ml_integration.runtime_accuracy_checkcomooffpara todo o ambiente do banco de dados.ALTER DATABASE DATABASE_NAME SET google_ml_integration.runtime_accuracy_check = off;Substitua
DATABASE_NAMEpelo nome do banco de dados.
A consulta não está processando nenhuma linha ou a preparação do modelo está falhando
Descrição
Se a consulta não estiver processando nenhuma linha, o motivo principal é que os embeddings não foram gerados ou que toda a coluna de embedding tem valores NULL. Isso
faz com que a preparação da consulta falhe, porque ela não faz amostragem de nenhuma linha que tenha
embeddings NULL.
Correção recomendada
- Gere embeddings para seus dados antes de usar funções otimizadas.
- Verifique se a coluna de embedding não contém valores
NULL. - As consultas que diferem apenas em valores constantes na cláusula
WHEREainda podem usar um modelo treinado.
Desempenho lento apesar do uso de funções de IA otimizadas
Descrição
Verifique se você não está excedendo a cota da Gemini Enterprise Agent Platform. Mesmo com funções de IA otimizadas, a verificação inicial de precisão do ambiente de execução requer a chamada do LLM remoto para uma amostra de linhas. Uma cota insuficiente pode fazer com que essa verificação inicial seja lenta ou falhe.
Correção recomendada
Verifique sua cota da plataforma de agentes e solicite um aumento, se necessário, para garantir que a verificação inicial de precisão do ambiente de execução possa prosseguir sem atrasos.
ERRO: a função ai.if(prompt => text, embedding => vector) não existe
Descrição
Se você transmitir o parâmetro model_id com a coluna de embedding ao chamar a função ai.if(), o AlloyDB não vai usar o modelo de proxy treinado e vai gerar um erro semelhante ao seguinte:
testdb=# select ai.if('Is the rating positive?' || review, review_embedding, 'gemini-2.5-pro') from restaurant_reviews;
ERROR: function ai.if(text, vector, unknown) does not exist
LINE 1: select ai.if('Is the rating positive?' || review, review_embe...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Correção recomendada
Verifique se você não está transmitindo o valor model_id ao chamar a função ai.if(). Isso garante que o AlloyDB use o modelo de proxy treinado para processar a consulta.