25.03.27 TIL Websocket AI

신성훈·2025년 3월 27일

TIL

목록 보기
157/162

오늘은 STOMP와 AI(ChatGPT) 연동을 활용한 WebSocket 확장에 대해 학습했다.
기본 WebSocket의 한계를 보완하기 위해 STOMP 프로토콜과 AI 챗봇을 추가로 적용해봤습니다.


1. WebSocket + AI(ChatGPT) 연동

Spring AI를 활용한 ChatGPT 연동

  1. OpenAI API 키를 등록 (application.yml)
  2. AI 챗봇 서비스 생성 (AiService)
  3. WebSocket 메시지를 AI 응답으로 처리
@Service
public class AiService {
    @Value("${spring.ai.openai.api-key}")
    private String openAiApiKey;

    public String getChatbotResponse(String question) {
        String prompt = "1. 반갑게 인사를 해주고 내 말에 따듯한 반응을 해줘. "
                      + "2. 최대한 짧게 말해줘. "
                      + "3. 내가 한 말은: " + question;

        OpenAiApi openAiApi = OpenAiApi.builder().apiKey(openAiApiKey).build();
        ChatModel chatModel = OpenAiChatModel.builder().openAiApi(openAiApi).build();
        return ChatClient.create(chatModel).prompt(prompt).call().content();
    }
}
  • 클라이언트가 보낸 질문을 ChatGPT에 전달
  • OpenAI API에서 받은 응답을 WebSocket으로 전송

2. WebSocket + AI 연동 과정

1) 클라이언트가 WebSocket을 통해 메시지 전송
2) 서버가 AI(ChatGPT) 응답을 생성
3) WebSocket을 통해 클라이언트에게 응답 전달

AI 챗봇 기능 추가 시 이점

  • 실시간 고객 지원 챗봇 구현 가능
  • AI 기반 추천 시스템 연동 가능
  • 자동화된 질의응답 서비스 개발 가능

3. 마무리

AI(ChatGPT)와 결합하면 실시간 대화형 서비스가 더욱 지능적으로 확장될 수 있다는 점이 흥미로웠다.
추가적으로 RabbitMQ 같은 외부 메시지 브로커 연동도 시도하고 공부해야겠다.

profile
조급해하지 말고, 흐름을 만들고, 기록하면서 쌓아가자.

0개의 댓글