1. ChatGPT OpenAPI
계기
- ChatGPT가 지난 12월에 발표된 이후로 엄청난 성능으로 굉장이 화제가 되었다.
- 이에 흐름에 올라타 늦기전에 ChatGPT의 기능을 통해 냉장고의 남은 재료로 만들 수 있는 음식과 그 레시피를 추천받는 기능을 구현해보고자 이 프로젝트를 시작하였다.
모델 선택
- 모델의 응답 속도와 정확도는 반비례한다고 한다.
- 그 중에서도 최대한 좋은 정확도를 가진 모델
text-davinci-003 를 사용해보고자 한다.
- 아무래도 토이 프로젝트 단위이다 보니 속도보다는 결과가 정확한게 좋을 것 같아서 선택하였다.
모델 성능 비교
- text-davinci-003 : 가장 유능한 GPT-3 모델. 다른 모델이 할 수 있는 모든 작업을 수행할 수 있으며, 종종 더 높은 품질, 더 긴 출력 및 더 나은 지침 준수로 수행한다.
- text-curie-001 : Davinci보다는 덜 유능하지만 빠르고 cost가 낮다.
- text-babbage-001 : 간단한 작업이 가능하고 매우 빠르고 cost가 더 낮다.
- text-ada-001 : 매우 간단한 작업이 가능하고, GPT-3 시리즈에서 가장 빠른 모델이며 cost가 가장 낮다.
2. 스프링 프로젝트와 연동
- OpenAI 를 사용하기 위한 API Key를 발급받아서 ChatGPT OpenAPI에 접근하기 위한 권한을 얻어야 한다.
- 여기서 해당 키는 절대 퍼블릭으로 유출되어선 안된다.
예를들어 깃허브 레포지토리에 공개로 절대 유출시키면 안되는 것이다.
이 부분은 .yml 을 통해 어차피 민감정보를 secret하게 관리하기 때문에 괜찮을 것 같았다.