먼저 어떤식으로 요청을 받고 어떤식으로 응답을 해줄까? 라는 고민을 하였습니다.
일단 저만이 사용하는 서비스이고, 저의 쿠버네티스에 내부적으로 배포될 것이기 때문에 인증/인가와 같은 보안적인 로직은 모두 제외하였습니다.
그리고, 요청을 받는 방식을 한번 고민을 해보았습니다. 저의 서비스들은 MSA 방식의 구조는 아니지만, 여러 서비스들이 통신을 하는데는 보통 Kafka, RabbitMQ 같은 비동기방식의 메세지 브로커 시스템을 많이 이용합니다.
하지만, 저의 클러스터에는 아직 Kafkas, RabbitMq와 같은 인프라가 구축되어 있지 않기도 하고,
저의 Open AI 응답 API 서비스가 많은 호출이 일어나는 그러한 서비스도 아니는 판단이 들어 가장 기본적인 http 방식의 통신으로 해결하자! 라는 결론을 지었습니다.
일단 통신은 Rest API 형태로 제작해야한다고 결정하였으니, 이제 OpenAI에서 응답은 어떻게 받아올 것인가에 대하여 생각을 해볼 차례입니다.
com.theokannin.openai-gpt3-java 라는 라이브러리가 존재하기는 하지만, 도큐먼트를 읽어보니 충분히 직접 구현할 수 있다는 판단이 들기도 하였고, 제 입맛대로 커스텀하여 쓸 수 있는 저만의 로직을 구현하려고 하였습니다.
OpenAI API Documentation(https://platform.openai.com/docs/quickstart) 를 보면, 3가지 방식으로 사용하는 예제를 보여줍니다. Curl, Python, Node.js 이렇게 3가지 방식이 소개되는데, 저는 Java 개발자이고 Spring 프레임워크를 사용하여 개발하는 백엔드 개발자이기 때문에 Curl 방식을 사용하여 개발하는 것으로 결정하였습니다.
자 이제 대략적인 설계는 끝났으니 구현하러 가봅시다!
'Web > GPT 응답 API 서버' 카테고리의 다른 글
04. 마무리! (0) | 2024.01.20 |
---|---|
03. Service를 구현해보자! (1) | 2024.01.20 |
02. Controller와 Dto를 생성해보자! (0) | 2024.01.20 |
00. Chat GPT 응답을 반환해주는 API 서버를 만들어보자! (0) | 2024.01.20 |