질의응답 시스템(챗봇)을 실험하던 중, 예기치 않은 문제점이 발생했습니다.
처음 질문을 던졌을 때는 Google Gemini 1.5 Pro 거대언어모델(Large Language Model, LLM)이 원활하게 동작하였으나, 두 번째 질문부터는 갑작스럽게 오류가 발생하기 시작했습니다.
오류 발생 화면과 관련 코드는 아래에 첨부하였습니다. 이에 따라 저는 오류의 원인을 분석하고 적절한 해결책을 찾아보기로 했습니다.
langchain_google_genai.chat_models.ChatGoogleGenerativeAIError: Invalid argument provided to Gemini: 400 Developer instruction is not enabled for models/gemini-pro
google.api_core.exceptions.InvalidArgument: 400 Developer instruction is not enabled for models/gemini-pro
먼저, 실수로 코드를 수정한 부분이 있는지 확인했습니다.
하지만 Git을 통해 형상관리를 하고 있었기 때문에 코드에는 수정된 부분이 없음을 확인할 수 있었습니다.
따라서 코드 수정이 오류 발생 원인이 아님을 알 수 있었습니다.
다음으로, Google Gemini 1.5 Pro LLM의 API 호출 비용 정책 변경 여부를 확인했습니다.
기존에는 1분에 60회까지 무료로 호출할 수 있었는데, 혹시 무료 지원이 종료된 것은 아닌지 의심했습니다. 하지만 확인 결과, 여전히 1분에 60회 호출까지는 무료로 제공되고 있었기 때문에 이 또한 문제 발생과는 연관이 없음을 확인했습니다.
마지막으로, 공식 문서나 API 호출 방법이 변경되었을 가능성을 고려했습니다. 에러 코드를 구글에 검색해본 결과, 최근에 올라온 관련 글을 발견할 수 있었고, 이를 통해 해결 방법을 얻을 수 있었습니다.
에러가 발생한 부분은 ChatGoogleGenerativeAI()
함수의 model="gemini-pro"
부분이었습니다. 이를 model="gemini-1.5-pro-latest"
로 변경하니 정상적으로 동작하는 것을 확인할 수 있었습니다.
os.getenv("GOOGLE_API_KEY")
llm = ChatGoogleGenerativeAI(
model="gemini-pro",
temperature=0
)
os.getenv("GOOGLE_API_KEY")
llm = ChatGoogleGenerativeAI(
model="gemini-1.5-pro-latest",
temperature=0
)
이상으로 Google Gemini-Pro API 호출 오류 발생 시 해결 방법에 대해 알아보았습니다.
오류 발생 시에는 냉정하게 원인을 분석하고, 관련 자료를 찾아보는 것이 도움이 됩니다.
이러한 접근법을 통해 빠르게 문제를 해결할 수 있을 것입니다.