@@ -46,7 +46,7 @@ public class ChatbotService {
4646 private int maxConversationCount ;
4747
4848 @ Value ("${spring.ai.openai.chat.options.temperature:0.8}" )
49- private Float temperature ;
49+ private Double temperature ;
5050
5151 @ Value ("${spring.ai.openai.chat.options.max-tokens:300}" )
5252 private Integer maxTokens ;
@@ -96,7 +96,7 @@ public ChatResponseDto sendMessage(ChatRequestDto requestDto) {
9696 var promptBuilder = chatClient .prompt ()
9797 .system (buildSystemMessage (messageType ))
9898 .user (buildUserMessage (requestDto .getMessage (), messageType ))
99- .advisors (new MessageChatMemoryAdvisor (chatMemory , maxConversationCount ));
99+ .advisors (new MessageChatMemoryAdvisor (chatMemory ));
100100
101101 // RAG 기능은 향후 구현 예정 (Vector DB 설정 필요)
102102
@@ -138,11 +138,12 @@ private void loadConversationHistory(String sessionId, InMemoryChatMemory chatMe
138138 chatConversationRepository .findBySessionIdOrderByCreatedAtAsc (sessionId );
139139
140140 // 최근 N개의 대화만 메모리에 로드
141+ String sessionIdForMemory = sessionId ;
141142 conversations .stream ()
142143 .skip (Math .max (0 , conversations .size () - maxConversationCount ))
143144 .forEach (conv -> {
144- chatMemory .add (new UserMessage (conv .getUserMessage ()));
145- chatMemory .add (new AssistantMessage (conv .getBotResponse ()));
145+ chatMemory .add (sessionIdForMemory , new UserMessage (conv .getUserMessage ()));
146+ chatMemory .add (sessionIdForMemory , new AssistantMessage (conv .getBotResponse ()));
146147 });
147148 }
148149
@@ -174,15 +175,15 @@ private String buildUserMessage(String userMessage, MessageType type) {
174175 private OpenAiChatOptions getOptionsForMessageType (MessageType type ) {
175176 return switch (type ) {
176177 case RECIPE -> OpenAiChatOptions .builder ()
177- .withTemperature (0.3f ) // 정확성 중시
178+ .withTemperature (0.3 ) // 정확성 중시
178179 .withMaxTokens (400 ) // 레시피는 길게
179180 .build ();
180181 case RECOMMENDATION -> OpenAiChatOptions .builder ()
181- .withTemperature (0.9f ) // 다양성 중시
182+ .withTemperature (0.9 ) // 다양성 중시
182183 .withMaxTokens (250 )
183184 .build ();
184185 case QUESTION -> OpenAiChatOptions .builder ()
185- .withTemperature (0.7f ) // 균형
186+ .withTemperature (0.7 ) // 균형
186187 .withMaxTokens (200 )
187188 .build ();
188189 default -> OpenAiChatOptions .builder ()
0 commit comments