In diesem Dokument wird beschrieben, wie Sie Fehler beheben können, die beim Bereitstellen einer Anwendung auftreten können.
Fehler bei vordefinierten Vorlagen
Wenn während der Bereitstellung Probleme mit der LangchainAgent-Vorlage auftreten, kann dies an einem der Probleme in diesem Abschnitt liegen.
Fehler beim Model Builder oder Runnable Builder
Problem:
Möglicherweise erhalten Sie eine Fehlermeldung, die so aussieht:
AttributeError: 'LangchainAgent' object has no attribute '_model_builder'
oder
AttributeError: 'LangchainAgent' object has no attribute '_runnable_builder'
Mögliche Ursache:
Dies kann passieren, wenn Sie eine Version von google-cloud-aiplatform
verwendet haben, die nach 1.50.0
liegt, um die LangchainAgent
in Ihrer Entwicklungsumgebung zu definieren, diese jedoch mit einer früheren Version bereitstellen als 1.51.0
in requirements=
. Führen Sie folgenden Befehl in Ihrem Terminal aus, um zu prüfen, welche Version Sie in Ihrer Entwicklungsumgebung verwenden:
pip show google-cloud-aiplatform
Empfohlene Lösung:
Wenn Sie eine Version von google-cloud-aiplatform
vor Version 1.51.0
verwenden, geben Sie beim Bereitstellen der Inferenzmaschine in requirements=
eine Version von google-cloud-aiplatform
vor Version 1.51.0
an.
Wenn Sie eine Version von google-cloud-aiplatform
nach Version 1.50.0
verwenden, geben Sie beim Bereitstellen der Begründung eine Version von google-cloud-aiplatform
nach der Version 1.50.0
in requirements=
an Engine.
Interne Serverfehler
Problem:
Möglicherweise erhalten Sie eine Fehlermeldung, die so aussieht:
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
Leider ist dies ein Sammelfehler für alle Probleme mit dem Container zur Laufzeit. Die mögliche Ursache ist einer von vielen möglichen Fehlern.
Mögliche Ursache(n)
- Schmutziger Zustand auf
LangchainAgent
. Dies kann passieren, wenn.set_up()
auf einemLangchainAgent
aufgerufen wurde, bevor die Bereitstellung in der Logik-Engine erfolgt. - Inkonsistente Paketversionen. Dies kann auftreten, wenn sich die in der Entwicklungsumgebung installierten Pakete von den Paketen unterscheiden, die in der Remoteumgebung in der Logik-Engine installiert sind.
Empfohlene Lösunge(n)
- Modifizierter Zustand für
LangchainAgent
. Erstellen Sie eine neue Instanz derLangchainAgent
oder entfernen Sieagent.set_up()
aus dem Code, bevor Sie die Reasoning Engine bereitstellen. - Nicht übereinstimmende Paketspezifikationen Weitere Informationen finden Sie im Abschnitt zur Behebung von Serialisierungsfehlern.
Serialisierungsfehler
Im Allgemeinen ist es wichtig, dass die "local"- und "remote"-Umgebungen bei der Bereitstellung in der Logik-Engine synchron sind. Sie können dies sicherstellen, indem Sie requirements=
angeben, wenn Sie die Reasoning Engine bereitstellen.
Wenn Sie Probleme mit der Serialisierung haben (Fehler im Zusammenhang mit „pickle“ oder „Pickling“ sind Synonyme für „Serialisierung“), kann dies an einem der in diesem Abschnitt beschriebenen Probleme liegen.
Pydantic-Version
Problem:
Möglicherweise erhalten Sie eine Fehlermeldung, die so aussieht:
PicklingError: Can't pickle <cyfunction str_validator at 0x7ca030133d30>: it's
not the same object as pydantic.validators.str_validator
Mögliche Ursache:
Dies kann auftreten, wenn Ihr pydantic
-Paket älter als Version 2.6.4
ist. Führen Sie folgenden Befehl in Ihrem Terminal aus, um zu prüfen, welche Version Sie verwenden:
pip show pydantic
Empfohlene Lösung:
Führen Sie im Terminal den folgenden Befehl aus, um das Paket zu aktualisieren:
pip install pydantic --upgrade
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um zu prüfen, ob Sie die Version 2.6.4
oder höher verwenden:
pip show pydantic
Wenn Sie sich in einer Notebookinstanz befinden, z. B. ein Jupyter, Colab oder Workbench, müssen Sie möglicherweise Ihre Laufzeit neu starten, um die aktualisierten Pakete verwenden zu können.
Cloudpickle-Version
Problem:
Möglicherweise erhalten Sie eine Fehlermeldung, die so aussieht:
AttributeError: Can't get attribute '_class_setstate' on <module 'cloudpickle.cloudpickle'
from '/usr/local/lib/python3.10/site-packages/cloudpickle/cloudpickle.py'>
Mögliche Ursache:
Das kann passieren, wenn die Version Ihres cloudpickle
-Pakets in Ihrer Entwicklungs- und Ihrer Bereitstellungsumgebung unterschiedlich ist. Führen Sie den folgenden Befehl in Ihrem Terminal aus, um zu prüfen, welche Version Sie in der Entwicklung verwenden:
pip show cloudpickle
Empfohlene Lösung:
Stellen Sie dieselbe Version von cloudpickle in beiden Umgebungen bereit (d. h. in Ihrer lokalen Entwicklungsumgebung und in der aus der Ferne bereitgestellten Umgebung der KI-gestützten Entscheidungsfindung), indem Sie beim Bereitstellen der KI-gestützten Entscheidungsfindung requirements=
angeben.
Interne Serverfehler
Problem:
Möglicherweise erhalten Sie eine Fehlermeldung, die so aussieht:
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
Mögliche Ursache:
Das kann passieren, wenn sich sys_version=
von der Entwicklungsumgebung unterscheidet, wenn Sie die Bereitstellung in der Inferenzmaschine ausführen.
Empfohlene Lösung:
Entfernen Sie gegebenenfalls sys_version=
aus den Eingabeargumenten, wenn Sie die Bereitstellung in einer Logik-Engine vornehmen. Sollten weiterhin Probleme auftreten, melden Sie den Fehler.
Cloud Storage-Bucket-Fehler
Wenn Probleme mit dem Cloud Storage-Staging-Bucket auftreten, der zum Zeitpunkt der Bereitstellung zum Erfassen und Hochladen Ihres Bots verwendet wird, kann das an einem der folgenden Probleme liegen:
Berechtigungsfehler
Empfohlene Lösung:
Wenn Sie einen bereits vorhandenen Bucket verwenden möchten, achten Sie darauf, dass das Hauptkonto, das für die Verwendung von Vertex AI authentifiziert ist (entweder Sie selbst oder ein Dienstkonto), Storage Admin
-Zugriff auf den Bucket hat, und gewähren Sie Berechtigungen für das
Von Google verwaltetes Dienstkonto für Logik-Engines.
Alternativ können Sie bei der Bereitstellung in der Argument-Engine einen neuen Bucket angeben und das Reasoning Engine-Client-SDK erstellt den Bucket mit den erforderlichen Berechtigungen.
Wenn weiterhin Probleme auftreten, melden Sie den Fehler.
Unterverzeichnis des Cloud Storage-Buckets wird nicht erstellt
Problem:
Möglicherweise erhalten Sie eine Fehlermeldung, die so aussieht:
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.
(Der 404-Fehler tritt auf, wenn das System versucht, in einen nicht vorhandenen Ordner zu kopieren.)
Mögliche Ursache:
Das liegt wahrscheinlich an einem Problem mit der Stringinterpolation in google-cloud-aiplatform
-Versionen, die älter als 1.49.0
sind. Dieser Fehler wurde in höheren Versionen behoben. Führen Sie in Ihrem Terminal den folgenden Befehl aus, um zu prüfen, welche Version von google-cloud-aiplatform
Sie verwenden:
pip show google-cloud-aiplatform
Empfohlene Lösung:
Führen Sie im Terminal den folgenden Befehl aus, um das Paket zu aktualisieren:
pip install google-cloud-aiplatform --upgrade
Prüfen Sie, ob Sie die Version 1.49.0
oder höher von google-cloud-aiplatform
verwenden. Führen Sie dazu den folgenden Befehl in Ihrem Terminal aus:
pip show google-cloud-aiplatform
Wenn Sie eine Notebookinstanz nutzen, z. B. Jupyter, Colab oder Workbench, müssen Sie möglicherweise Ihre Laufzeit neu starten, bevor Sie die aktualisierten Pakete verwenden können.