Questo documento mostra come risolvere gli errori che potresti riscontrare durante il deployment di un'applicazione.
Errori del modello predefinito
Se riscontri problemi con il modello LangchainAgent durante il deployment, potrebbero essere dovuti a 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
nel tuo ambiente di sviluppo, ma ne stai eseguendo il deployment con una versione precedente alla 1.51.0
in requirements=
. Per verificare quale versione utilizzi nel tuo ambiente di sviluppo, esegui questo 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
prima della versione 1.51.0
in
requirements=
quando esegui il deployment del motore di
ragionamento.
Se utilizzi una versione di google-cloud-aiplatform
dopo la versione 1.50.0
, specifica una versione di google-cloud-aiplatform
dopo la versione 1.50.0
in requirements=
quando esegui 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.
Sfortunatamente, questo è un errore catch-all per qualsiasi problema con il container in fase di runtime e la possibile causa è uno dei molti errori che potrebbero verificarsi.
Possibili cause:
- Stato sporco su
LangchainAgent
. Questo potrebbe accadere se.set_up()
è stato chiamato suLangchainAgent
prima di eseguire il deployment nel motore di ragionamento. - Versioni del pacchetto incoerenti. Questo può accadere se i pacchetti installati nell'ambiente di sviluppo sono diversi dai pacchetti installati nell'ambiente remoto di reasoning Engine.
Soluzioni consigliate:
- Stato sporco su
LangchainAgent
. Crea un'istanza di una nuova istanza diLangchainAgent
o rimuoviagent.set_up()
dal codice prima di eseguire il deployment nel motore di ragionamento. - Specifiche del pacchetto incoerenti. Consulta la sezione relativa alla risoluzione dei problemi relativi agli errori di serie.
Errori di serializzazione
In generale, è importante garantire che gli ambienti "locali" e "remoti" siano sincronizzati durante il deployment nel motore di ragionamento. Puoi farlo
specificando requirements=
quando
esegui il deployment nel motore di ragionamento.
Se riscontri problemi con la serializzazione (gli errori relativi a "pickle" o "pickling" sono sinonimo di "serialization"), potrebbe essere dovuto a uno dei problemi descritti in questa sezione.
Versione pidantica
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 verificare quale versione stai utilizzando, esegui questo comando nel terminale:
pip show pydantic
Soluzione consigliata:
Aggiorna il pacchetto eseguendo questo comando nel terminale:
pip install pydantic --upgrade
Esegui questo comando nel terminale per verificare che tu stia utilizzando la versione 2.6.4
o successiva:
pip show pydantic
Se ti trovi in un'istanza di blocco note (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:
Questo può accadere se la versione del pacchetto cloudpickle
è diversa nel tuo ambiente di sviluppo e nell'ambiente di deployment. Per verificare quale versione utilizzi in fase di sviluppo, esegui questo 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 Reasoning Engine di cui è stato eseguito il deployment 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 quando esegui 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 continui a riscontrare problemi, invia una segnalazione di bug.
Errori dei bucket Cloud Storage
Se stai riscontrando problemi con il bucket gestione temporanea Cloud Storage utilizzato al momento del deployment per raccogliere e caricare l'agente, la causa potrebbe essere 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)
disponga dell'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 quando esegui il deployment nel motore di motivo e l'SDK client di Whying Engine creerà il bucket con le autorizzazioni necessarie.
Se continui a riscontrare problemi, 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 con l'interpolazione delle stringhe nelle versioni di
google-cloud-aiplatform
precedenti alla versione 1.49.0
. Questo problema è stato corretto nelle versioni successive. Per verificare quale versione di google-cloud-aiplatform
stai utilizzando, esegui questo comando nel terminale:
pip show google-cloud-aiplatform
Soluzione consigliata:
Aggiorna il pacchetto eseguendo questo 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 comando seguente nel terminale:
pip show google-cloud-aiplatform
Se utilizzi un'istanza di blocco note (ad esempio Jupyter, Colab o Workbench), potresti dover riavviare il runtime prima di poter utilizzare i pacchetti aggiornati.