Memecahkan masalah saat men-deploy aplikasi

Dokumen ini menunjukkan cara mengatasi error yang mungkin Anda alami saat men-deploy aplikasi.

Error Template Bawaan

Jika Anda mengalami masalah dengan template LangchainAgent selama deployment, mungkin penyebabnya adalah salah satu masalah di bagian ini.

Error Model Builder atau Runnable Builder

Masalah:

Anda akan menerima pesan error yang mirip dengan yang berikut ini:

AttributeError: 'LangchainAgent' object has no attribute '_model_builder'

atau

AttributeError: 'LangchainAgent' object has no attribute '_runnable_builder'

Kemungkinan penyebab:

Hal ini dapat terjadi jika Anda menggunakan versi google-cloud-aiplatform yang lebih baru dari 1.50.0 untuk menentukan LangchainAgent di lingkungan pengembangan, tetapi men-deploy-nya dengan versi yang lebih lama dari 1.51.0 di requirements=. Untuk memeriksa versi yang Anda gunakan di lingkungan pengembangan, jalankan perintah berikut di terminal Anda:

pip show google-cloud-aiplatform

Solusi yang disarankan:

Jika Anda menggunakan versi google-cloud-aiplatform sebelum versi 1.51.0, tentukan versi google-cloud-aiplatform sebelum versi 1.51.0 di requirements= saat men-deploy mesin logika.

Jika Anda menggunakan versi google-cloud-aiplatform setelah versi 1.50.0, tentukan versi google-cloud-aiplatform setelah versi 1.50.0 di requirements= saat men-deploy mesin logika.

Kesalahan server internal

Masalah:

Anda akan menerima pesan error yang mirip dengan yang berikut ini:

InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.

Sayangnya, ini adalah error umum untuk masalah apa pun dengan penampung saat runtime, dan kemungkinan penyebabnya adalah salah satu dari banyak error yang mungkin terjadi.

Kemungkinan penyebab:

  • Status kotor pada LangchainAgent. Hal ini dapat terjadi jika .set_up() dipanggil di LangchainAgent sebelum di-deploy ke mesin penalaran.
  • Versi paket tidak konsisten. Hal ini dapat terjadi jika paket yang diinstal di lingkungan pengembangan berbeda dengan paket yang diinstal di lingkungan jarak jauh di mesin penalaran.

Solusi yang disarankan:

  • Status kotor pada LangchainAgent. Buat instance baru LangchainAgent atau hapus agent.set_up() dari kode sebelum men-deploy ke mesin penalaran.
  • Spesifikasi paket tidak konsisten. Lihat bagian tentang memecahkan masalah error serialisasi.

Error serialisasi

Secara umum, penting untuk memastikan bahwa lingkungan "lokal" dan "jarak jauh" disinkronkan saat men-deploy ke mesin penalaran. Anda dapat memastikan hal ini dengan menentukan requirements= saat men-deploy ke mesin penalaran.

Jika Anda mengalami masalah serialisasi (error yang terkait dengan "memilih" atau "memilih" identik dengan error "serialisasi"), hal ini mungkin disebabkan oleh salah satu masalah yang dijelaskan di bagian ini.

Versi Pydantic

Masalah:

Anda akan menerima pesan error yang mirip dengan yang berikut ini:

PicklingError: Can't pickle <cyfunction str_validator at 0x7ca030133d30>: it's
not the same object as pydantic.validators.str_validator

Kemungkinan penyebab:

Hal ini mungkin terjadi jika paket pydantic Anda lebih lama dari versi 2.6.4. Untuk memeriksa versi mana yang Anda gunakan, jalankan perintah berikut di terminal:

pip show pydantic

Solusi yang disarankan:

Update paket Anda dengan menjalankan perintah berikut di terminal:

pip install pydantic --upgrade

Jalankan perintah berikut di terminal untuk memverifikasi bahwa Anda menggunakan versi 2.6.4 atau yang lebih baru:

pip show pydantic

Jika Anda berada dalam instance notebook (misalnya, Jupyter atau Colab atau Workbench), Anda mungkin perlu memulai ulang runtime untuk menggunakan paket yang telah diupdate.

Versi Cloud Pickle

Masalah:

Anda akan menerima pesan error yang mirip dengan yang berikut ini:

AttributeError: Can't get attribute '_class_setstate' on <module 'cloudpickle.cloudpickle'
from '/usr/local/lib/python3.10/site-packages/cloudpickle/cloudpickle.py'>

Kemungkinan penyebab:

Hal ini mungkin terjadi jika versi paket cloudpickle Anda berbeda di lingkungan pengembangan dan lingkungan deployment Anda. Untuk memeriksa versi mana yang Anda gunakan dalam pengembangan, jalankan perintah berikut di terminal:

pip show cloudpickle

Solusi yang disarankan:

Deploy versi cloudcrible yang sama di kedua lingkungan (yaitu lingkungan pengembangan lokal Anda dan lingkungan Reasoning Engine yang di-deploy dari jarak jauh) dengan menentukan requirements= saat men-deploy mesin penalaran.

Kesalahan server internal

Masalah:

Anda akan menerima pesan error yang mirip dengan yang berikut ini:

InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.

Kemungkinan penyebab:

Hal ini dapat terjadi jika sys_version= berbeda dengan lingkungan pengembangan saat men-deploy ke mesin penalaran.

Solusi yang disarankan:

Sebaiknya hapus sys_version= dari argumen input saat men-deploy ke mesin alasan. Jika Anda masih mengalami masalah, laporkan bug.

Error bucket Cloud Storage

Jika Anda mengalami masalah pada bucket staging Cloud Storage yang digunakan pada waktu deployment untuk mengumpulkan dan mengupload agen, hal ini mungkin disebabkan oleh salah satu masalah berikut:

Error izin

Solusi yang disarankan:

Jika Anda ingin menggunakan bucket yang sudah ada: pastikan akun utama yang diautentikasi untuk menggunakan Vertex AI (baik Anda sendiri maupun akun layanan) memiliki akses Storage Admin ke bucket, dan berikan izin ke akun layanan mesin logika yang dikelola Google.

Atau, Anda dapat menentukan bucket baru saat men-deploy ke mesin penalaran, dan SDK klien mesin penalaran akan membuat bucket dengan izin yang diperlukan.

Jika Anda masih mengalami masalah, ajukan laporan bug.

Subdirektori bucket Cloud Storage tidak dibuat

Masalah:

Anda akan menerima pesan error yang mirip dengan yang berikut ini:

NotFound: 404 Can not copy from \"gs://[LOCATION]-*/reasoning_engine/reasoning_engine.pkl\" to \"gs://*/code.pkl\", check if the source object and target bucket exist.

(404 terjadi saat sistem mencoba menyalin ke dalam folder yang tidak ada.)

Kemungkinan penyebab:

Hal ini mungkin disebabkan oleh masalah dengan jenis interpolasi string dalam versi google-cloud-aiplatform yang lebih lama dari versi 1.49.0. Hal ini diperbaiki) di versi yang lebih baru. Untuk memeriksa versi google-cloud-aiplatform yang Anda gunakan, jalankan perintah berikut di terminal:

pip show google-cloud-aiplatform

Solusi yang disarankan:

Update paket Anda dengan menjalankan perintah berikut di terminal:

pip install google-cloud-aiplatform --upgrade

Pastikan Anda menggunakan google-cloud-aiplatform versi 1.49.0 atau yang lebih baru dengan menjalankan perintah berikut di terminal Anda:

pip show google-cloud-aiplatform

Jika menggunakan instance notebook (misalnya, Jupyter atau Colab atau Workbench), Anda mungkin perlu memulai ulang runtime sebelum dapat menggunakan paket yang telah diupdate.