Para resolver los problemas de entrenamiento de modelos, preparación de consultas y resguardo de rendimiento cuando ejecutas funciones de IA optimizadas en AlloyDB para PostgreSQL, aplica las correcciones recomendadas para las advertencias o los errores que devuelven tus consultas.
Se espera un rendimiento reducido. La función IA optimizada no está disponible
Descripción
Esta advertencia indica que la consulta recurrió al uso del
LLM. Esto ocurre cuando la función optimizada aún se está entrenando, nunca se preparó, falló la verificación de validación de exactitud del entorno de ejecución o si las columnas de contenido y de incorporación a las que se hace referencia en la función ai.if() no pertenecen a la misma tabla. En el caso de las tablas más pequeñas, es posible que el modelo proxy no se generalice bien y que la exactitud sea, por lo general, inferior al
95%, por lo que AlloyDB usa el LLM de forma predeterminada.
Consulta de ejemplo que causa el error
EXECUTE positive_reviews_query;
Solución recomendada
- Espera a que se complete el entrenamiento de la función optimizada.
- Asegúrate de que la consulta esté preparada correctamente con la sentencia
PREPARE. - Verifica que las columnas de contenido y de incorporación a las que se hace referencia en la función
ai.if()pertenezcan a la misma tabla. - Las funciones optimizadas (versión preliminar) son más adecuadas para tablas más grandes. También puedes usar funciones de IA basadas en arrays para mejorar el rendimiento.
Si deseas omitir la verificación de exactitud del entorno de ejecución (por ejemplo, en entornos de desarrollo), establece
google_ml_integration.runtime_accuracy_checkenoffpara todo el entorno de la base de datos.ALTER DATABASE DATABASE_NAME SET google_ml_integration.runtime_accuracy_check = off;Reemplaza
DATABASE_NAMEpor el nombre de tu base de datos.
La consulta no procesa ninguna fila o la preparación del modelo falla
Descripción
Si la consulta no procesa ninguna fila, el motivo principal es que no se generan los embeddings o cuando toda la columna de embeddings tiene valores NULL. Esto
hace que falle la preparación de la consulta, ya que no se muestrea ninguna fila que tenga
incorporaciones de NULL.
Solución recomendada
- Genera incorporaciones para tus datos antes de usar funciones optimizadas.
- Asegúrate de que la columna de embedding no contenga valores
NULL. - Las consultas que solo difieren en los valores constantes de la cláusula
WHEREpueden seguir usando un modelo entrenado existente.
Rendimiento lento a pesar de usar funciones de IA optimizadas
Descripción
Asegúrate de no superar la cuota de Gemini Enterprise Agent Platform. Incluso con funciones de IA optimizadas, la verificación inicial de la exactitud del entorno de ejecución requiere llamar al LLM remoto para obtener una muestra de filas. Una cuota insuficiente puede hacer que esta verificación inicial sea lenta o falle.
Solución recomendada
Verifica tu cuota de Agent Platform y solicita un aumento si es necesario para garantizar que la verificación inicial de la exactitud del entorno de ejecución pueda continuar sin demoras.
ERROR: function ai.if(prompt => text, embedding => vector) does not exist
Descripción
Si pasas el parámetro model_id junto con la columna de embedding cuando llamas a la función ai.if(), AlloyDB no usa el modelo de proxy entrenado y genera un error similar al siguiente:
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.
Solución recomendada
Asegúrate de no pasar el valor model_id cuando llames a la función ai.if(). Esto garantiza que AlloyDB use el modelo de proxy entrenado para procesar la consulta.