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. 평문 데이터 (화면 표시용)