Memecahkan masalah fungsi yang dioptimalkan

Untuk menyelesaikan masalah pelatihan model, persiapan kueri, dan penggantian performa saat Anda menjalankan fungsi AI yang dioptimalkan di AlloyDB untuk PostgreSQL, terapkan perbaikan yang direkomendasikan untuk peringatan atau error yang ditampilkan oleh kueri Anda.

Performa diperkirakan akan menurun. Fungsi AI yang dioptimalkan tidak tersedia

Deskripsi

Peringatan ini menunjukkan bahwa kueri kembali menggunakan LLM. Hal ini terjadi saat fungsi yang dioptimalkan masih dalam pelatihan, tidak pernah disiapkan, gagal dalam pemeriksaan validasi akurasi runtime, atau jika kolom konten dan embedding yang direferensikan dalam fungsi ai.if() bukan milik tabel yang sama. Untuk tabel yang lebih kecil, model proxy mungkin tidak dapat digeneralisasi dengan baik, dan akurasinya umumnya kurang dari 95%, sehingga AlloyDB menggunakan LLM secara default.

Contoh kueri yang menyebabkan error

EXECUTE positive_reviews_query;
  • Tunggu hingga pelatihan fungsi yang dioptimalkan selesai.
  • Pastikan kueri disiapkan dengan benar menggunakan pernyataan PREPARE.
  • Pastikan kolom konten dan embedding yang direferensikan dalam fungsi ai.if() berasal dari tabel yang sama.
  • Fungsi yang dioptimalkan (Pratinjau) lebih cocok untuk tabel yang lebih besar. Anda juga dapat menggunakan fungsi AI berbasis array untuk meningkatkan performa.
  • Jika Anda ingin mengabaikan pemeriksaan akurasi runtime (misalnya, di lingkungan pengembangan), tetapkan google_ml_integration.runtime_accuracy_check ke off untuk seluruh lingkungan database.

    ALTER DATABASE DATABASE_NAME SET google_ml_integration.runtime_accuracy_check = off;
    

    Ganti DATABASE_NAME dengan nama database Anda.

Kueri tidak memproses baris apa pun atau persiapan model gagal

Deskripsi

Jika kueri tidak memproses baris apa pun, alasan utamanya adalah embedding tidak dibuat atau saat seluruh kolom embedding memiliki nilai NULL. Hal ini menyebabkan persiapan kueri gagal, karena tidak mengambil sampel baris apa pun yang memiliki embedding NULL.

  • Buat embedding untuk data Anda sebelum menggunakan fungsi yang dioptimalkan.
  • Pastikan kolom embedding tidak berisi nilai NULL.
  • Kueri yang hanya berbeda dalam nilai konstanta dalam klausa WHERE mungkin masih menggunakan model terlatih yang ada.

Performa lambat meskipun menggunakan fungsi AI yang dioptimalkan

Deskripsi

Pastikan Anda tidak melebihi kuota Gemini Enterprise Agent Platform. Meskipun dengan fungsi AI yang dioptimalkan, pemeriksaan akurasi runtime awal memerlukan panggilan LLM jarak jauh untuk sampel baris. Kuota yang tidak mencukupi dapat menyebabkan pemeriksaan awal ini menjadi lambat atau gagal.

Periksa kuota Agent Platform Anda dan minta penambahan jika perlu untuk memastikan bahwa pemeriksaan akurasi runtime awal dapat dilanjutkan tanpa penundaan.

ERROR: function ai.if(prompt => text, embedding => vector) does not exist

Deskripsi

Jika Anda meneruskan parameter model_id bersama dengan kolom embedding saat memanggil fungsi ai.if(), AlloyDB tidak akan menggunakan model proxy terlatih, dan akan menghasilkan error yang mirip dengan berikut ini:

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.

Pastikan Anda tidak meneruskan nilai model_id saat memanggil fungsi ai.if(). Hal ini memastikan bahwa AlloyDB menggunakan model proxy terlatih untuk memproses kueri.