이 문서에서는 애플리케이션을 배포할 때 발생할 수 있는 오류를 해결하는 방법을 보여줍니다.
사전 빌드된 템플릿 오류
배포 중에 LangchainAgent 템플릿에 문제가 발생하면 이 섹션의 문제 중 하나 때문일 수 있습니다.
모델 빌더 또는 실행 파일 빌더 오류
문제:
다음과 유사한 오류 메시지가 표시됩니다.
AttributeError: 'LangchainAgent' object has no attribute '_model_builder'
또는
AttributeError: 'LangchainAgent' object has no attribute '_runnable_builder'
가능한 원인:
개발 환경에서 1.50.0
이상 버전의 google-cloud-aiplatform
을 사용하여 LangchainAgent
를 정의했지만 requirements=
에서 1.51.0
미만 버전으로 배포하면 이러한 문제가 발생할 수 있습니다. 개발 환경에서 사용 중인 버전을 확인하려면 터미널에서 다음 명령어를 실행합니다.
pip show google-cloud-aiplatform
추천 솔루션:
1.51.0
이하 버전의 google-cloud-aiplatform
을 사용하는 경우 추론 엔진을 배포할 때 requirements=
에서 1.51.0
이전 버전의 google-cloud-aiplatform
을 지정합니다.
1.50.0
버전 이후의 google-cloud-aiplatform
을 사용하는 경우 추론 엔진을 배포할 때 requirements=
에서 1.50.0
버전 이후의 google-cloud-aiplatform
을 지정합니다.
내부 서버 오류
문제:
다음과 유사한 오류 메시지가 표시됩니다.
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
안타깝게도 이 오류는 런타임 시 컨테이너와 관련된 모든 문제에 대한 포괄적인 오류이며 발생할 수 있는 여러 오류 중 하나가 원인일 수 있습니다.
가능한 원인
LangchainAgent
의 더티 상태 이는 추론 엔진에 배포하기 전에LangchainAgent
에서.set_up()
이 호출된 경우에 발생할 수 있습니다.- 일관되지 않은 패키지 버전 이는 개발 환경에 설치된 패키지가 추론 엔진의 원격 환경에 설치된 패키지와 다르면 발생할 수 있습니다.
추천 해결 방법
LangchainAgent
의 더티 상태 추론 엔진에 배포하기 전에LangchainAgent
의 새 인스턴스를 인스턴스화하거나 코드에서agent.set_up()
을 삭제합니다.- 일관되지 않은 패키지 사양 직렬화 오류 문제 해결 섹션을 참조하세요.
직렬화 오류
일반적으로 추론 엔진에 배포할 때 '로컬' 및 '원격' 환경이 동기화되어 있는지 확인하는 것이 중요합니다. 추론 엔진에 배포할 때 requirements=
를 지정하면 동기화 여부를 확인할 수 있습니다.
직렬화에 문제가 발생하는 경우('pickle' 또는 'pickling'과 관련된 오류는 'serialization' 오류와 동의어임) 이 섹션에 설명된 문제 중 하나가 원인일 수 있습니다.
Pydantic 버전
문제:
다음과 유사한 오류 메시지가 표시됩니다.
PicklingError: Can't pickle <cyfunction str_validator at 0x7ca030133d30>: it's
not the same object as pydantic.validators.str_validator
가능한 원인:
pydantic
패키지가 2.6.4
이전 버전이면 이러한 문제가 발생할 수 있습니다. 사용 중인 버전을 확인하려면 터미널에서 다음 명령어를 실행합니다.
pip show pydantic
추천 솔루션:
터미널에서 다음 명령어를 실행하여 패키지를 업데이트합니다.
pip install pydantic --upgrade
터미널에서 다음 명령어를 실행하여 사용 중인 버전이 2.6.4
이상인지 확인합니다.
pip show pydantic
노트북 인스턴스(예: Jupyter, Colab 또는 Workbench)를 사용하는 경우 런타임을 다시 시작하여 업데이트된 패키지를 사용해야 할 수 있습니다.
Cloudpickle 버전
문제:
다음과 유사한 오류 메시지가 표시됩니다.
AttributeError: Can't get attribute '_class_setstate' on <module 'cloudpickle.cloudpickle'
from '/usr/local/lib/python3.10/site-packages/cloudpickle/cloudpickle.py'>
가능한 원인:
이는 개발 환경과 배포 환경에서 cloudpickle
패키지 버전이 다르면 발생할 수 있습니다. 개발에서 사용 중인 버전을 확인하려면 터미널에서 다음 명령어를 실행합니다.
pip show cloudpickle
추천 솔루션:
추론 엔진을 배포할 때 requirements=
를 지정하여 두 환경(즉, 로컬 개발 환경과 원격으로 배포된 추론 엔진 환경)에 동일한 버전의 cloudpickle을 배포합니다.
내부 서버 오류
문제:
다음과 유사한 오류 메시지가 표시됩니다.
InternalServerError: 500 Revision XXX is not ready and cannot serve traffic.
가능한 원인:
이는 추론 엔진에 배포할 때 sys_version=
이 개발 환경과 다르면 발생할 수 있습니다.
추천 솔루션:
추론 엔진에 배포할 때 입력 인수에서 sys_version=
을 삭제하는 것이 좋습니다. 문제가 여전히 해결되지 않으면 버그 신고를 제출합니다.
Cloud Storage 버킷 오류
배포 시 에이전트를 수집하고 업로드하는 데 사용되는 Cloud Storage 스테이징 버킷에서 문제가 발생하는 경우 다음 문제 중 하나가 원인일 수 있습니다.
권한 오류
추천 솔루션:
기존 버킷을 사용하려면 Vertex AI를 사용하도록 인증된 주 구성원(사용자 또는 서비스 계정)에 버킷에 대한 Storage Admin
액세스 권한이 있는지 확인하고 Google 관리 추론 엔진 서비스 계정에 권한을 부여합니다.
또는 추론 엔진에 배포할 때 새 버킷을 지정하면 됩니다. 이렇게 하면 추론 엔진 클라이언트 SDK에서 필요한 권한으로 버킷을 만듭니다.
문제가 여전히 해결되지 않으면 버그 신고를 제출합니다.
Cloud Storage 버킷 하위 디렉터리가 생성되지 않음
문제:
다음과 유사한 오류 메시지가 표시됩니다.
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.
시스템이 존재하지 않는 폴더에 복사하려고 시도하면 404 오류가 발생합니다.
가능한 원인:
1.49.0
버전 이전의 google-cloud-aiplatform
에서 발생하는 문자열 보간 유형 문제가 원인일 수 있습니다. 이 문제는 이후 버전에서 수정되었습니다. 사용 중인 google-cloud-aiplatform
버전을 확인하려면 터미널에서 다음 명령어를 실행합니다.
pip show google-cloud-aiplatform
추천 솔루션:
터미널에서 다음 명령어를 실행하여 패키지를 업데이트합니다.
pip install google-cloud-aiplatform --upgrade
터미널에서 다음 명령어를 실행하여 1.49.0
이상 버전의 google-cloud-aiplatform
을 사용하고 있는지 확인합니다.
pip show google-cloud-aiplatform
노트북 인스턴스(예: Jupyter, Colab 또는 Workbench)를 사용하는 경우 업데이트된 패키지를 사용하려면 먼저 런타임을 다시 시작해야 할 수 있습니다.