|
20 | 20 | import java.util.HashMap; |
21 | 21 | import java.util.List; |
22 | 22 | import java.util.Map; |
23 | | -import java.util.stream.Collectors; |
24 | | - |
25 | | -import reactor.core.publisher.Flux; |
26 | 23 |
|
27 | 24 | import org.springframework.ai.chat.client.ChatClientRequest; |
28 | 25 | import org.springframework.ai.chat.client.ChatClientResponse; |
29 | 26 | import org.springframework.ai.chat.client.advisor.AbstractChatMemoryAdvisor; |
30 | | -import org.springframework.ai.chat.client.advisor.api.CallAdvisorChain; |
31 | | -import org.springframework.ai.chat.client.advisor.api.StreamAdvisorChain; |
32 | 27 | import org.springframework.ai.chat.messages.AssistantMessage; |
33 | 28 | import org.springframework.ai.chat.messages.Message; |
34 | 29 | import org.springframework.ai.chat.messages.MessageType; |
35 | | -import org.springframework.ai.chat.messages.SystemMessage; |
36 | 30 | import org.springframework.ai.chat.messages.UserMessage; |
37 | | -import org.springframework.ai.chat.model.MessageAggregator; |
38 | 31 | import org.springframework.ai.chat.prompt.PromptTemplate; |
39 | 32 | import org.springframework.ai.document.Document; |
40 | | -import org.springframework.ai.vectorstore.SearchRequest; |
41 | 33 | import org.springframework.ai.vectorstore.VectorStore; |
42 | 34 |
|
43 | 35 | /** |
@@ -144,24 +136,6 @@ protected void after(ChatClientResponse chatClientResponse) { |
144 | 136 | .write(toDocuments(assistantMessages, this.doGetConversationId(chatClientResponse.context()))); |
145 | 137 | } |
146 | 138 |
|
147 | | - protected ChatClientRequest applyMessagesToRequest(ChatClientRequest request, List<Message> memoryMessages) { |
148 | | - if (memoryMessages == null || memoryMessages.isEmpty()) { |
149 | | - return request; |
150 | | - } |
151 | | - // Convert memory messages to a string for the system prompt |
152 | | - String longTermMemory = memoryMessages.stream() |
153 | | - .filter(m -> m.getMessageType() == MessageType.USER || m.getMessageType() == MessageType.ASSISTANT) |
154 | | - .map(m -> m.getMessageType() + ":" + m.getText()) |
155 | | - .collect(Collectors.joining(System.lineSeparator())); |
156 | | - |
157 | | - SystemMessage systemMessage = request.prompt().getSystemMessage(); |
158 | | - String augmentedSystemText = this.systemPromptTemplate |
159 | | - .render(Map.of("instructions", systemMessage.getText(), "long_term_memory", longTermMemory)); |
160 | | - |
161 | | - // Create a new request with the augmented system message |
162 | | - return request.mutate().prompt(request.prompt().augmentSystemMessage(augmentedSystemText)).build(); |
163 | | - } |
164 | | - |
165 | 139 | private List<Document> toDocuments(List<Message> messages, String conversationId) { |
166 | 140 | List<Document> docs = messages.stream() |
167 | 141 | .filter(m -> m.getMessageType() == MessageType.USER || m.getMessageType() == MessageType.ASSISTANT) |
|
0 commit comments