diff --git a/src/main/java/de/derpandaa/plinfa/ChatWindow.java b/src/main/java/de/derpandaa/plinfa/ChatWindow.java index 2a79cab..2b5f7bb 100644 --- a/src/main/java/de/derpandaa/plinfa/ChatWindow.java +++ b/src/main/java/de/derpandaa/plinfa/ChatWindow.java @@ -5,6 +5,7 @@ import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.InputEvent; import java.awt.event.KeyEvent; +import java.util.Arrays; import javax.swing.AbstractAction; import javax.swing.BorderFactory; @@ -141,7 +142,13 @@ public class ChatWindow extends JPanel { input.setText(""); AiRequest request = new AiRequest((Model) modelComboBox.getSelectedItem()); - request.addMessages(new MessageDto(Role.user, text)); + Arrays.stream(messageContainer.getComponents()).filter(c -> c instanceof MessageBubble) + .map(c -> (MessageBubble) c).map(MessageBubble::getMessageDto) + .forEach(messageDto -> { + request.addMessage(messageDto); + }); + + request.addMessage(new MessageDto(Role.user, text)); request.setSystemPrompt("Du bist ein einfacher Assistent der kurz antwortet"); diff --git a/src/main/java/de/derpandaa/plinfa/MessageBubble.java b/src/main/java/de/derpandaa/plinfa/MessageBubble.java index 845266c..daebe5e 100644 --- a/src/main/java/de/derpandaa/plinfa/MessageBubble.java +++ b/src/main/java/de/derpandaa/plinfa/MessageBubble.java @@ -14,6 +14,8 @@ public class MessageBubble extends JPanel { private static final long serialVersionUID = -6278277156331505629L; + private final MessageDto messageDto; + public MessageBubble(MessageDto messageDto) { setLayout(new BorderLayout()); setBorder(new EmptyBorder(6, 10, 6, 10)); @@ -55,5 +57,10 @@ public class MessageBubble extends JPanel { setOpaque(false); add(wrapper, BorderLayout.CENTER); + this.messageDto = messageDto; } + + public MessageDto getMessageDto() { + return messageDto; + } } \ No newline at end of file diff --git a/src/main/java/de/derpandaa/plinfa/dto/AiRequest.java b/src/main/java/de/derpandaa/plinfa/dto/AiRequest.java index 4671d43..af64912 100644 --- a/src/main/java/de/derpandaa/plinfa/dto/AiRequest.java +++ b/src/main/java/de/derpandaa/plinfa/dto/AiRequest.java @@ -45,7 +45,7 @@ public class AiRequest { return messages; } - public void addMessages(MessageDto message) { + public void addMessage(MessageDto message) { messages.add(message); } }