Memecahkan masalah deployment agen

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

Error Template Bawaan

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

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, error ini adalah error umum untuk masalah apa pun pada 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 men-deploy agen.
  • 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 Vertex AI Agent Engine.

Solusi yang direkomendasikan:

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

Error serialisasi

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

Jika Anda mengalami masalah dengan serialisasi (error terkait "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 awal dari versi 2.6.4. Untuk memeriksa versi yang Anda gunakan, jalankan perintah berikut di terminal:

pip show pydantic

Solusi yang direkomendasikan:

Perbarui 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 di instance notebook (misalnya, Jupyter, 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 versi cloudpickle yang sama di kedua lingkungan, seperti lingkungan pengembangan lokal dan agen yang di-deploy dari jarak jauh dengan menentukan requirements= saat men-deploy agen.

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 dapat terjadi jika sys_version= berbeda dari lingkungan pengembangan saat men-deploy agen.

Solusi yang direkomendasikan:

Setelah men-deploy agen, pertimbangkan untuk menghapus sys_version= dari argumen input. Jika Anda masih mengalami masalah, ajukan laporan bug.

Error bucket Cloud Storage

Jika Anda mengalami masalah dengan bucket penyiapan 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 direkomendasikan:

Jika Anda ingin menggunakan bucket yang sudah ada: pastikan akun utama yang diautentikasi untuk menggunakan Vertex AI (diri Anda atau akun layanan) memiliki akses Storage Admin ke bucket, dan berikan izin ke akun layanan.

Atau, Anda dapat menentukan bucket baru saat men-deploy agen dan SDK 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 berikut ini:

NotFound: 404 Can not copy from \"gs://[LOCATION]-*/agent_engine/agent_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 interpolasi string di versi google-cloud-aiplatform yang lebih lama dari versi 1.49.0. Masalah ini diperbaiki dalam 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 direkomendasikan:

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

Error pelanggaran VPC-SC

Jika Anda mengalami masalah dengan VPC-SC, salah satu masalah berikut mungkin menjadi penyebabnya:

Error izin

Masalah:

Anda akan menerima pesan error yang mirip dengan berikut ini:

Reasoning Engine instance REASONING_ENGINE_ID failed to start and cannot serve traffic.

atau:

Request is prohibited by organization's policy.

Kemungkinan penyebab:

Hal ini kemungkinan disebabkan oleh tidak adanya aturan traffic masuk yang diperlukan di perimeter VPC-SC.

Solusi yang direkomendasikan:

Jika Anda menggunakan Vertex AI Agent Engine di lingkungan VPC-SC, Anda harus membuat aturan masuk di perimeter untuk mengizinkan masuk dari Agen Layanan Reasoning Engine (service-PROJECT_NUMBER@gcp-sa-aiplatform-re.) ke layanan storage.googleapis.com dan layanan artifactregistry.googleapis.com.

Error akun layanan kustom

Jika Anda mengalami masalah dengan akun layanan, salah satu masalah berikut mungkin menjadi penyebabnya:

Bertindak sebagai akun layanan

Masalah:

Anda akan menerima pesan error yang mirip dengan berikut ini:

You do not have permission to act as service_account.

Kemungkinan penyebab:

Anda mungkin tidak memiliki izin iam.serviceAccounts.actAs di akun layanan kustom yang digunakan untuk deployment. Perhatikan bahwa dalam sistem multi-agen yang memiliki beberapa akun layanan kustom, satu penulis atau deployer agen dapat bertindak sebagai beberapa akun layanan. Jika Anda menggunakan akun layanan yang salah, error ini adalah perilaku yang diharapkan

Selain itu, Anda mungkin mengalami error ini jika akun layanan kustom berada di project yang berbeda dengan project tempat Anda men-deploy agen, dan kebijakan organisasi iam.disableCrossProjectServiceAccountUsage diterapkan di project akun layanan.

Lihat Akun layanan kustom lintas project untuk mengetahui daftar lengkap konfigurasi yang diperlukan untuk skenario ini.

Solusi yang direkomendasikan:

Pastikan Anda menggunakan akun layanan yang dimaksud. Periksa apakah Anda memiliki peran Service Account User (roles/iam.serviceAccountUser) di akun layanan ini. Jika tidak, minta administrator Anda untuk memberikan peran kepada Anda di akun layanan ini.

Jika Anda berada dalam skenario lintas project, periksa apakah project akun layanan Anda menerapkan kebijakan organisasi iam.disableCrossProjectServiceAccountUsage. Jika demikian, minta administrator Anda untuk menonaktifkan kebijakan tersebut.

Server metadata tidak tersedia

Masalah:

Anda akan menerima pesan error yang mirip dengan berikut ini:

ServiceUnavailable: 503 Getting metadata from plugin failed with error

atau

Compute Engine Metadata server unavailable due to : Could not fetch URI /computeMetadata/v1/instance/service-accounts/default/token

Kemungkinan penyebab:

Hal ini dapat terjadi jika akun layanan kustom dan agen Anda berada di project yang berbeda dan Agen Layanan AI Platform Reasoning Engine tidak memiliki izin iam.serviceAccounts.getAccessToken pada akun layanan kustom.

Lihat Akun layanan kustom lintas project untuk mengetahui daftar lengkap konfigurasi yang diperlukan untuk skenario ini.

Solusi yang direkomendasikan:

Minta administrator Anda untuk memberikan peran Service Account Token Creator (roles/iam.serviceAccountTokenCreator) kepada Agen Layanan AI Platform Reasoning Engine dari project agen di akun layanan kustom.

Agen Layanan AI Platform Reasoning Engine harus berada di project yang sama dengan yang Anda gunakan untuk men-deploy agen. Binding IAM pemberian peran harus berada di project tempat akun layanan kustom berada.

Referensi dukungan

Jika masalah Anda masih belum terselesaikan, lihat panduan dukungan kami untuk mendapatkan bantuan.