Spring AI와 SSE(Flux)로 구현한 스트리밍 AI 챗봇 설계
·
spring & java
이번에 동아리에서 프로젝트를 진행하면서 AI 챗봇 기능 구현이 필요했다.기능을 설계하는 과정에서, LLM API 연동을 위해 고민했던 점들을 정리해보려고 한다. 만들고자 한 서비스는 단순히 답을 제공하는 챗봇이 아니라,사용자가 스스로 생각을 확장할 수 있도록 질문을 던지는 용도였다. 따라서 선택 기준에서 중요했던 것은 성능이 아니라 비용 구조였다. 상대적으로 저렴한 gpt-4o-mini 모델을 선택하여 진행하였다. 챗봇 서비스를 설계하기 위해 웹소켓과 SSE를 고려했다.독서 감상을 나누는 데 필요한 챗봇 서비스 였기 때문에, 양방향 실시간 통신이 필수가 아니라고 생각했다.따라서 리소스 소모가 큰 소켓 대신, 단방향 통신인 SSE를 채택하여 진행했다. 챗봇에는 요구조건이 있었다.답변 생성이 끝난..