Memecahkan masalah deployment aplikasi

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

Error Template Siap Pakai

Jika Anda mengalami masalah dengan template LangchainAgent selama deployment, hal ini mungkin disebabkan oleh salah satu masalah di bagian ini.

Error Model Builder atau Runnable Builder

Masalah:

Anda akan menerima pesan error yang mirip dengan 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:

pip show google-cloud-aiplatform

Solusi yang direkomendasikan:

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 reasoning.

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 reasoning.

Error server internal

Masalah:

Anda akan menerima pesan error yang mirip dengan 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 di LangchainAgent. Hal ini dapat terjadi jika .set_up() dipanggil di LangchainAgent sebelum di-deploy ke mesin penalaran.
  • Versi paket yang 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 direkomendasikan:

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

Error serialisasi

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

Jika Anda mengalami masalah dengan serialisasi (error yang terkait dengan "pickle" atau "pickling" sama 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 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 dapat terjadi jika paket pydantic Anda lebih lama dari versi 2.6.4. Untuk memeriksa versi yang Anda gunakan, jalankan perintah berikut di terminal:

pip show pydantic

Solusi yang direkomendasikan:

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 berada di instance notebook (misalnya, Jupyter atau Colab atau Workbench), Anda mungkin perlu memulai ulang runtime untuk menggunakan paket yang diupdate.

Versi Cloudpickle

Masalah:

Anda akan menerima pesan error yang mirip dengan 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 dapat terjadi jika versi paket cloudpickle Anda berbeda di lingkungan pengembangan dan lingkungan deployment. Untuk memeriksa versi yang Anda gunakan dalam pengembangan, jalankan perintah berikut di terminal:

pip show cloudpickle

Solusi yang direkomendasikan:

Deploy cloudpickle versi yang sama di kedua lingkungan (yaitu lingkungan pengembangan lokal dan lingkungan Reasoning Engine yang di-deploy dari jarak jauh) dengan menentukan requirements= saat men-deploy reasoning engine.

Error server internal

Masalah:

Anda akan menerima pesan error yang mirip dengan berikut ini:

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

Kemungkinan penyebab:

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

Solusi yang direkomendasikan:

Pertimbangkan untuk menghapus sys_version= dari argumen input saat men-deploy ke mesin penalaran. Jika Anda masih mengalami masalah, laporkan bug.

Error bucket Cloud Storage

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

Error izin

Solusi yang direkomendasikan:

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 penalaran 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, laporkan bug.

Subdirektori bucket Cloud Storage tidak dibuat

Masalah:

Anda akan menerima pesan error yang mirip dengan 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.

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

Kemungkinan penyebab:

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

pip show google-cloud-aiplatform

Solusi yang direkomendasikan:

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:

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 diupdate.