jwt-based-ai-chat-system

JWT 기반 Stateless AI chat system

Server를 Stateless로 AI Chat 히스토리를 관리하는 방법

  • JWT를 통해서 Chat 히스토리를 client에 저장한다.
  • JWT를 사용하여 히스토리를 조작할 수 없도록 한다.
sequenceDiagram
    autonumber
    participant Client as Client (Browser)
    participant Main as Main Server
    participant AI as AI Engine

    Note over Client, Main: 흐름 시작: 질문 + 이전 히스토리(JWT)
    Client->>Main: 질문(Plain Text) + JWT(이전 데이터) 전송
    
    rect rgb(240, 248, 255)
        Note right of Main: JWT 처리 및 데이터 가공
        Main->>Main: JWT 복호화 (평문화)
        Main->>Main: 평문 질문 + 복호화된 히스토리 결합
    end

    Main->>AI: 결합된 Query 전송
    AI-->>Main: Response (답변) 반환

    rect rgb(245, 245, 245)
        Note right of Main: 결과 데이터 패키징
        Main->>Main: 새로운 답변 포함하여 JWT 생성
    end

    Main->>Client: 1. 새로운 JWT (History 저장용)
    Main->>Client: 2. 평문 데이터 (화면 표시용)