
초록스터디 디스코드 채널에 Spring AI 클로즈 베타 참가자 모집 글이 올라왔다. 주어진 요구사항을 해결하며 Spring AI에 대해 학습하고, 실무에서 발생하는 문제를 경험할 수 있음을 글을 통해 확인할 수 있었다. 내가 ㅂ타 참가자에 신청한 이유는 다음과 같다.
이번 글에서는 1주차 동안 진행한 내용을 다룰 것이다.
OpenAI, Claude와 같은 AI API를 스프링에서 호출하기 위해서는 RestTemplate와 같은 HTTP 통신 클래스를 사용해야했다. API 호출 후에도 응답값 파싱 등 부가적인 로직을 개발자가 직접 구현해야하는 번거러움이 존재했다. 또한, 여러 AI 벤더가 존재하기 때문에 사용하던 AI 벤더를 변경한다면 그에 맞도록 코드를 수정해야하는 번거러움이 존재했다.
Spring AI에서는 여러 AI 벤더를 추상화하고, AI를 Spring의 개발 철학에 맞게 사용할 수 있도록 API를 제공해주는 프레임워크로 이해했다.
리파지토리는 https://github.com/cho-log/spring-ai-bootcamp-basic에서 확인할 수 있다.
내가 이해한 요구사항의 큰 틀은 다음과 같다.
여기서 OpenAI API는 ChatClient 를 통해 호출하고, 모든 응답값에는 토큰 사용량을 반환해야한다.
요구사항을 해결하기 위해 우선적으로 프로젝트 환경을 파악했다. 제공된 데이터는 다음과 같았다.