05. AI API 서버 제작
·
Web/코테 준비용 서비스 만들기
AI API 서버 구조도   위 구조는 app.py를 중심으로 각 구성 요소가 연결되는 방식이다. 각 구성 요소는 다음과 같은 역할을 수행한다.app.py: 전형적인 REST API 서버의 컨트롤러 역할을 하며, 클라이언트의 코드 최적화 요청을 받아 처리한다. 클라이언트에서 전달된 코드를 Optimizator 서비스로 전달하여 최적화된 코드를 받아 반환한다.Optimizator: 코드 최적화 로직의 핵심 서비스 계층이다. OpenAI API와 통신하여 코드 리팩터링을 요청하고, 최적화된 코드를 응답받아 클라이언트에 제공한다.OpenAI API: AI 모델을 활용하여 코드 최적화 요청을 처리하는 외부 서비스이다. Optimizator는 프롬프트를 통해 최적화 요청을 전송하며, OpenAI의 응답을 통해 최..
04. 마무리!
·
Web/GPT 응답 API 서버
이제 이 API 서버가 잘 동작하는지 PostMan을 통해서 테스트해보았습니다. 보시는 것과 같이 text question을 보냈을 때 응답을 잘 보내주는 것을 알 수 있습니다. 이렇게 OpenAI API에 Text Question을 하고 응답을 받아주는 역할을 하는 API 서버를 제작하였습니다. 하지만, 추가해야할 점이 많이 있습니다. 먼저, 한글과 영어를 번역하는 로직을 추가해야합니다. OpenAI API는 무료가 아닙니다. 토큰을 사용한 만큼 요금이 결재되는 시스템입니다. 토큰은 OpenAI API가 처리하는 단어 조각인데 같은 문장에서 영어보다 한글이 더 많은 토큰을 소비합니다. 그렇기 때문에 해당 API 서버에서는 한글로 오는 요청에 대하여 영어로 바꾸어 OpenAI API에 요청을 하고, 영어..
03. Service를 구현해보자!
·
Web/GPT 응답 API 서버
이제 컨트롤러에서 요청 Dto로 서비스에게 넘겨주었으니 이제 비즈니스 로직을 구현할 차례입니다. 사실 지금 구현하고 있는 API 서버의 비스니스 로직은 매우 간단합니다. 그저 OpenAI API가 요구하는 형태로 Curl 요청만 보내면 되는 것이기 때문입니다. Java 에서 Http 요청을 하는 방법을 여러가지가 있습니다. Http Client를 사용하던지, HttpURLConnection을 사용하던지 등의 방법이 있습니다. 하지만 저는 Spring Cloud에서 사용하는 Rest Http 요청을 아주아주 쉽게 사용하게 해주는 OpenFeign이라는 라이브러리를 사용하여 처리를 해볼 예정입니다! 먼저, OpenFeign 라이브러리를 추가하기 위해 build.gradle에 spring cloud를 추가하여..
00. Chat GPT 응답을 반환해주는 API 서버를 만들어보자!
·
Web/GPT 응답 API 서버
요즘 가장 핫한 이슈라고 하면 바로 생성형 AI 입니다. 그렇기 때문에 이러한 생성형 AI를 활용한 서비스들이 많이 출시되고 있는데요, Chat GPT는 OpenAI API를 지원하여 직접 Chat GPT Web 에서 사용하는 것이아니라, API 형태로 생성형 AI 서비스를 이용할 수도 있습니다. 저도 이러한 Open API를 사용하여 생성형 AI를 활용한 여러 서비스들을 만들어 보려합니다! 그런 서비스들을 만들기 전 각 서비스마다 Open API에 연결하고, 라이브러리 추가하고, 코드 추가하고 하는 것은 너무나도 비효율 적이기에 저는 제 서비스들이 공통적으로 사용하기 위한 Open API 전용 API 서버를 제작하려 합니다. 그럼 이제 만들어 보겠습니다!