Updated the GUI and mostly figured out chages that was required in the Ollama library.

Signed-off-by: Zacharias <zacharias@4zellen.se>
This commit is contained in:
2026-05-09 00:25:00 +02:00
parent a18fa13a89
commit 1b4cf0f570
2 changed files with 36 additions and 23 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ repositories {
dependencies { dependencies {
implementation "me.zacharias.neurodock:Core:1.3" implementation "me.zacharias.neurodock:Core:1.5"
implementation 'com.formdev:flatlaf:3.4.1' implementation 'com.formdev:flatlaf:3.4.1'
testImplementation platform('org.junit:junit-bom:6.0.0') testImplementation platform('org.junit:junit-bom:6.0.0')
+35 -22
View File
@@ -2,10 +2,15 @@ package me.zacharias.neurodock;
import com.formdev.flatlaf.FlatDarkLaf; import com.formdev.flatlaf.FlatDarkLaf;
import me.zacharias.chat.core.Core; import me.zacharias.chat.core.Core;
import me.zacharias.chat.core.LaunchOptions;
import me.zacharias.chat.core.PrintAdvanceMessageHandler;
import me.zacharias.chat.core.PrintMessageHandler; import me.zacharias.chat.core.PrintMessageHandler;
import me.zacharias.chat.ollama.OllamaMessage;
import me.zacharias.chat.ollama.OllamaMessageRole;
import me.zacharias.chat.ollama.OllamaObject; import me.zacharias.chat.ollama.OllamaObject;
import javax.swing.*; import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.awt.event.KeyListener; import java.awt.event.KeyListener;
@@ -18,41 +23,45 @@ public class Main {
public Main() { public Main() {
Core.setDataDirectory("NeuroDock-GUI");
LaunchOptions launchOptions = LaunchOptions.getInstance();
launchOptions.setLoadOld(false);
FlatDarkLaf.setup(); FlatDarkLaf.setup();
JTextArea textArea = new JTextArea();
textArea.setEditable(false);
textArea.setLineWrap(true);
core = new Core(new PrintAdvanceMessageHandler() {
@Override
public void printMessage(OllamaMessage message) {
textArea.append(message.getRole().name() + ": " +message.getContent() + "\n");
}
@Override
public void printErrorMessage(OllamaMessage errorMessage) {
textArea.append("ERROR!: " + errorMessage.getContent() + "\n");
}
});
OllamaObject ollamaObject = OllamaObject.builder() OllamaObject ollamaObject = OllamaObject.builder()
.setModel("llama3.2") .setModel("llama3.2")
.keep_alive(10) .keep_alive(10)
.build(); .build();
JTextArea textArea = new JTextArea(); core.setOllamaObjectNoMemory(ollamaObject);
core = new Core(new PrintMessageHandler() {
@Override
public void printMessage(String s) {
textArea.append(s);
}
@Override
public boolean color() {
return false;
}
@Override
public void printError(String message) {
PrintMessageHandler.super.printError(message);
}
});
SwingUtilities.invokeLater(() -> { SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame(); JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800, 600); frame.setSize(800, 600);
frame.setLayout(new GridLayout(2,1));
frame.add(textArea);
JTextField field = new JTextField(); JTextField field = new JTextField();
field.setSize(frame.getWidth(), 20);
field.addKeyListener(new KeyListener() { field.addKeyListener(new KeyListener() {
@@ -64,7 +73,9 @@ public class Main {
@Override @Override
public void keyPressed(KeyEvent e) { public void keyPressed(KeyEvent e) {
if(!e.isShiftDown() && e.getKeyCode() == KeyEvent.VK_ENTER) { if(!e.isShiftDown() && e.getKeyCode() == KeyEvent.VK_ENTER) {
core.getOllamaObject().addMessage(new OllamaMessage(OllamaMessageRole.USER, field.getText()));
field.setText("");
core.handleResponce(core.qurryOllama());
} }
} }
@@ -74,7 +85,9 @@ public class Main {
} }
}); });
frame.add(textArea);
frame.add(field); frame.add(field);
frame.setVisible(true); frame.setVisible(true);
}); });
} }