Questo documento mostra come risolvere gli errori che potresti riscontrare durante il deployment di un'applicazione.
Errori dei modelli predefiniti
Se riscontri problemi con il modello LangchainAgent durante l'implementazione, la causa potrebbe essere uno dei problemi descritti in questa sezione.
Errori di Model Builder o Runnable Builder
Problema:
Ricevi un messaggio di errore simile al seguente:
AttributeError: 'LangchainAgent' object has no attribute '_model_builder'
o
AttributeError: 'LangchainAgent' object has no attribute '_runnable_builder'
Possibile causa:
Questo può accadere se hai utilizzato una versione di google-cloud-aiplatform
successiva a 1.50.0
per definire LangchainAgent
nell'ambiente di sviluppo, ma lo stai implementando con una versione precedente a 1.51.0
in requirements=
. Per controllare quale versione utilizzi nell'ambiente di sviluppo, esegui il seguente comando nel terminale:
pip show google-cloud-aiplatform
Soluzione consigliata:
Se utilizzi una versione di google-cloud-aiplatform
precedente alla versione 1.51.0
,
specifica una versione di google-cloud-aiplatform
precedente alla versione 1.51.0
in
requirements=
durante il deployment del motore di ragionamento.
Se utilizzi una versione di google-cloud-aiplatform
successiva alla versione 1.50.0
,
specifica una versione di google-cloud-aiplatform
successiva alla versione 1.50.0
in
requirements=
durante il deployment del motore di ragionamento.
Errori interni del server
Problema:
Ricevi un messaggio di errore simile al seguente:
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
Purtroppo, si tratta di un errore generico per eventuali problemi con il contenitore in fase di esecuzione e la possibile causa è uno dei tanti errori che potrebbero verificarsi.
Possibili cause:
- Stato Sporco su
LangchainAgent
. Ciò potrebbe verificarsi se.set_up()
è stato chiamato su unLangchainAgent
prima del deployment nel motore di ragionamento. - Versioni del pacchetto incoerenti. Questo può accadere se i pacchetti installati nelll'ambiente di sviluppo sono diversi da quelli installati nel livello di ragionamento dell'ambiente remoto.
Soluzioni consigliate:
- Stato Sporco su
LangchainAgent
. Crea un'istanza nuova diLangchainAgent
o rimuoviagent.set_up()
dal codice prima di eseguire il deployment nel motore di ragionamento. - Specifiche del pacchetto incoerenti. Consulta la sezione sulla risoluzione dei problemi di serializzazione.
Errori di serializzazione
In generale, è importante assicurarsi che gli ambienti "locali" e "remoti" siano sincronizzati durante il deployment nel motore di ragionamento. Per farlo,
specifica requirements=
quando
esegui il deployment nel motore di ragionamento.
Se riscontri problemi di serializzazione (gli errori relativi a "pickle" o "pickling" sono sinonimo di errori di "serializzazione"), il problema potrebbe essere uno di quelli descritti in questa sezione.
Versione Pydantic
Problema:
Ricevi un messaggio di errore simile al seguente:
PicklingError: Can't pickle <cyfunction str_validator at 0x7ca030133d30>: it's
not the same object as pydantic.validators.str_validator
Possibile causa:
Questo potrebbe accadere se il pacchetto pydantic
è precedente alla versione 2.6.4
. Per controllare la versione in uso, esegui il seguente comando nel terminale:
pip show pydantic
Soluzione consigliata:
Aggiorna il pacchetto eseguendo il seguente comando nel terminale:
pip install pydantic --upgrade
Esegui il seguente comando nel terminale per verificare di utilizzare la versione 2.6.4
o successiva:
pip show pydantic
Se sei in un'istanza del notebook (ad esempio Jupyter, Colab o Workbench), potresti dover riavviare il runtime per utilizzare i pacchetti aggiornati.
Versione Cloudpickle
Problema:
Ricevi un messaggio di errore simile al seguente:
AttributeError: Can't get attribute '_class_setstate' on <module 'cloudpickle.cloudpickle'
from '/usr/local/lib/python3.10/site-packages/cloudpickle/cloudpickle.py'>
Possibile causa:
Ciò potrebbe verificarsi se la versione del pacchetto cloudpickle
è diversa nell'ambiente di sviluppo e nell'ambiente di deployment. Per controllare la versione in uso durante lo sviluppo, esegui il seguente comando nel terminale:
pip show cloudpickle
Soluzione consigliata:
Esegui il deployment della stessa versione di cloudpickle in entrambi gli ambienti (ovvero l'ambiente di sviluppo locale e l'ambiente del motore di ragionamento di cui è stato eseguito il deployment da remoto) specificando requirements=
durante il deployment del motore di ragionamento.
Errori interni del server
Problema:
Ricevi un messaggio di errore simile al seguente:
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
Possibile causa:
Questo può accadere se sys_version=
è diverso dall'ambiente di sviluppo durante il deployment nel motore di ragionamento.
Soluzione consigliata:
Valuta la possibilità di rimuovere sys_version=
dagli argomenti di input durante il deployment nel motore di ragionamento. Se i problemi persistono, segnala un bug.
Errori dei bucket Cloud Storage
Se riscontri problemi con il bucket di staging Cloud Storage utilizzato al momento del deployment per raccogliere e caricare l'agente, potrebbe essere dovuto a uno dei seguenti problemi:
Errori di autorizzazione
Soluzione consigliata:
Se vuoi utilizzare un bucket preesistente: assicurati che l'entità autenticata per utilizzare Vertex AI (tu o un account di servizio) abbia accesso Storage Admin
al bucket e concedi le autorizzazioni all'account di servizio del motore di ragionamento gestito da Google.
In alternativa, puoi specificare un nuovo bucket durante il deployment nel motore di ragionamento e l'SDK client del motore di ragionamento creerà il bucket con le autorizzazioni necessarie.
Se i problemi persistono, invia una segnalazione di bug.
La sottodirectory del bucket Cloud Storage non viene creata
Problema:
Ricevi un messaggio di errore simile al seguente:
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.
(L'errore 404 si verifica quando il sistema tenta di copiare in una cartella che non esiste).
Possibile causa:
Ciò è probabilmente dovuto a un problema di interpolazione di stringhe nelle versioni di google-cloud-aiplatform
precedenti alla versione 1.49.0
. Questo problema è stato risolto nelle versioni successive. Per controllare la versione di google-cloud-aiplatform
in uso, esegui il seguente comando nel terminale:
pip show google-cloud-aiplatform
Soluzione consigliata:
Aggiorna il pacchetto eseguendo il seguente comando nel terminale:
pip install google-cloud-aiplatform --upgrade
Verifica di utilizzare la versione 1.49.0
o successiva di google-cloud-aiplatform
eseguendo il seguente comando nel terminale:
pip show google-cloud-aiplatform
Se utilizzi un'istanza del notebook (ad esempio Jupyter, Colab o Workbench), potrebbe essere necessario riavviare il runtime prima di poter utilizzare i pacchetti aggiornati.