본문 바로가기
프로젝트

구글 바드 API 오류 해결

by Dr.섭도 2023. 12. 10.

바드 API의 사용

구글에서 공식적으로 지원해주지는 않지만,
Maven Repository에서 java용으로 지원하는 라이브러리가 있다
구글 바드 api

해당 라이브러리를 사용하다 보니 갑자기
질문 query는 잘 보내지지만,
answer 부분이 도착하지 않는 현상이 발생했다

원래 공식 API가 없어서

구글 바드 접속 -> F12 관리자모드 -> Application -> Cookies -> __Secure-1PSID 값 사용

이렇게 사용하고 있었다

스프링 부트 오류 로그를 살펴보니 SNlM0e 값이 null로 처리되어서
nullpointException이 발생하였다

이걸 해결하려고 API를 다른 구글 아이디로도 진행해보았으나, 이미 밴을 먹었는지 작동이 안되었다...

결국 외국 git에 올라온 내용을 바탕으로 해결할 수 있었다

처음 시도

처음엔 해당 git의 공식적인 방법을 사용하였다
Google bard 관련 Cookie를 삭제하고, 다시 로그인하는 방법이었다
이건 실패했다...

두 번째 시도

두 번째 방법으로 요청 수행을 정상적으로 할 수 있었다
구글 시크릿 모드로 들어가서 똑같은 방법으로 API키를 받아오는 것이었다
키 값은 물론 달라졌다
해당 방법으로 요청을 보내니까, 정상적으로 값을 전달해주었다

요청을 보내고 구글 바드 사이트로 들어가보니, 구글에서 만든 리캡챠가 작동중이었다. 아무래도 비정상적인 방법으로 요청을 보냈기 때문에, 이를 검증하기 위해 작동한 것 같다
서너번 정도 리캡챠를 풀어주니까 지금은 일단 안뜨고 있다

결론

아무래도 공식적으로 지원하지 않는 API이다 보니 비정상적인 방법으로 요청을 보내는 것을 구글에서 막는 중인 것 같다
많은 요청이 보내진다면 다시 막힐지도 모르겠다...
GPT-4 유료모델을 사용하거나 새로운 방법을 찾는 것이 어떨까 싶다