04. 마무리!
·
Web/GPT 응답 API 서버
이제 이 API 서버가 잘 동작하는지 PostMan을 통해서 테스트해보았습니다. 보시는 것과 같이 text question을 보냈을 때 응답을 잘 보내주는 것을 알 수 있습니다. 이렇게 OpenAI API에 Text Question을 하고 응답을 받아주는 역할을 하는 API 서버를 제작하였습니다. 하지만, 추가해야할 점이 많이 있습니다. 먼저, 한글과 영어를 번역하는 로직을 추가해야합니다. OpenAI API는 무료가 아닙니다. 토큰을 사용한 만큼 요금이 결재되는 시스템입니다. 토큰은 OpenAI API가 처리하는 단어 조각인데 같은 문장에서 영어보다 한글이 더 많은 토큰을 소비합니다. 그렇기 때문에 해당 API 서버에서는 한글로 오는 요청에 대하여 영어로 바꾸어 OpenAI API에 요청을 하고, 영어..
02. Controller와 Dto를 생성해보자!
·
Web/GPT 응답 API 서버
먼저 요청/응답을 어떤 형식으로 받을 것인지 생각해보았습니다. 도큐먼트를 읽어보니 사용하는 모델에 따라 요청해야하는 형식이 다른 것을 확인하였습니다. # Text 응답 요청 curl https://api.openai.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "gpt-3.5-turbo", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Hello!" } ] }' # Audio 응답 요..
01. API 구조를 설계해보자!
·
Web/GPT 응답 API 서버
먼저 어떤식으로 요청을 받고 어떤식으로 응답을 해줄까? 라는 고민을 하였습니다. 일단 저만이 사용하는 서비스이고, 저의 쿠버네티스에 내부적으로 배포될 것이기 때문에 인증/인가와 같은 보안적인 로직은 모두 제외하였습니다. 그리고, 요청을 받는 방식을 한번 고민을 해보았습니다. 저의 서비스들은 MSA 방식의 구조는 아니지만, 여러 서비스들이 통신을 하는데는 보통 Kafka, RabbitMQ 같은 비동기방식의 메세지 브로커 시스템을 많이 이용합니다. 하지만, 저의 클러스터에는 아직 Kafkas, RabbitMq와 같은 인프라가 구축되어 있지 않기도 하고, 저의 Open AI 응답 API 서비스가 많은 호출이 일어나는 그러한 서비스도 아니는 판단이 들어 가장 기본적인 http 방식의 통신으로 해결하자! 라는 결..