이번 블로그에서는 초보자 입장에서 ChatGPT 사용시 가장 빈번하게 발생하는 에러에 대한 해결법을 알아보고자 한다.
ChatGPT를 사용하는 방법은 크게 2가지가 있다. 하나는 ChatGPT를 이용하는 것이고, 다른 하나는 API를 활용하는 방법이다. 필자는 API를 이용하고 있으며, 이를 사용할 때 발생하는 에러 대처법에 대해 공유하고자 한다.
API서비스를 처음 세팅을 할 때, 화면 아래 캡쳐 화면과 같이 좌측의 system 부분에 구체적인 prompt를 설정하고, 가운데의 user 창에 실질적인 대화를 입력하게 된다.
이 화면을 계속 유지한 채 사용을 하게되면 빨간 박스의 메시지와 같이 “This model’s maximum context length is 16385 tokens. However, your messages resulted in 17285 tokens. please reduce the length of the messages.”와 비슷한 에러 메시지가 발생할 수 있다.
이는 크게 2가지 원인으로 요약되며, 이에 대한 해결법은 다음과 같다.
1. 우측 setting 값을 제대로 설정하지 못한 경우
이에 대한 해결방법은 크게 2가지가 있다.
(해결방법1.-1) GPT모델 변경
기본 모델인 gpt-3.5-turbo로 설정된 경우이다. 그렇다면 오른쪽 화면의 Model에서 gpt-3.5-turbo-16k-0613 또는 gpt-3.5-turbo-16k로 변경해 보자.
gpt-3.5-turbo 모델의 경우 Maximum Length는 4095이고, gpt-3.5-turbo-16k의 경우는 16383이다. 따라서 Maximum Length가 더 큰 gpt-3.5-turbo-16k를 사용하면 자연스럽게 대화 용량이 증가되기 때문에 에러를 해결할 수 있다.
(해결방법1.-2)Maximum Length의 숫자 변경
오른쪽 설정을 보면 Maximum Length라는 표현이 있다. 여기서 Maximum Length라 하면 최대 토큰의 수이며, 영어 기준으로 1개의 토큰은 평균 4개 글자라고 설명되어 있다. 즉, 한글의 경우 1~2개의 글자가 1개 토큰이라고 보면 될 것 같다. Maximum Length를 크게 설정하면 처리할 수 있는 글의 길이가 증가하게 되어 문제 해결이 가능하다.
2. 한 화면을 계속 사용한 경우
(해결방법2.)
만일 위에서 처럼 모델을 gpt-3.5-turbo-16k 이상의 모델을 사용하고 있는데도 같은 에러 메세지가 나온다면, playground 화면을 종료하고 다시 접속해 보자. 아마 playground 화면의 대화 내용들의 합이 maximum context length에 영향을 미치는 것 같다. 따라서 해당 화면을 닫고 다시 접속해면 context length가 초기화되기 때문에 문제가 해결된다.
ChatGPT 설정이 궁금하다면 아래 글을 참고하기 바란다.