Soluciona problemas relacionados con las funciones optimizadas

En este documento, se describen los errores que puedes encontrar cuando usas funciones de IA optimizadas. También se proporcionan ejemplos de errores y correcciones recomendadas.

Se espera un rendimiento reducido. La función IA optimizada no está disponible

Descripción

Esta advertencia indica que la consulta volvió a usar el LLM. Esto sucede cuando la función optimizada aún se está entrenando, nunca se preparó, falló en la verificación de validación de precisión del tiempo 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 de proxy no se generalice bien y que la precisión sea, por lo general, inferior al 95%, por lo que AlloyDB usa el LLM de forma predeterminada.

Consulta de muestra que causa el error

EXECUTE positive_reviews_query;
  • Espera a que se complete el entrenamiento de la función optimizada.
  • Asegúrate de que la consulta se prepare correctamente con la instrucción 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 (vista previa) 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 precisión del tiempo de ejecución (por ejemplo, en entornos de desarrollo), configura google_ml_integration.runtime_accuracy_check en off para todo el entorno de la base de datos.

    ALTER DATABASE DATABASE_NAME SET google_ml_integration.runtime_accuracy_check = off;
    

    Reemplaza DATABASE_NAME por el nombre de tu base de datos.

La consulta no procesa ninguna fila o falla la preparación del modelo

Descripción

Si la consulta no procesa ninguna fila, el motivo principal es que no se generan las incorporaciones o que toda la columna de incorporación tiene valores NULL. Esto hace que falle la preparación de la consulta, ya que no muestra ninguna fila que tenga incorporaciones NULL.

  • Genera incorporaciones para tus datos antes de usar funciones optimizadas.
  • Asegúrate de que la columna de incorporación no contenga valores NULL.
  • Es posible que las consultas que solo difieren en valores constantes en la cláusula WHERE aún usen un modelo entrenado existente.

Rendimiento lento a pesar de usar funciones de IA optimizadas

Descripción

Asegúrate de no exceder tu cuota de Gemini Enterprise Agent Platform. Incluso con las funciones de IA optimizadas, la verificación inicial de precisión del tiempo 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.

Verifica tu cuota de Agent Platform y solicita un aumento si es necesario para asegurarte de que la verificación inicial de precisión del tiempo 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 incorporación 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.

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.