Added My Anime List API wrapper

for documentation on MAL API check out the [API docs](https://myanimelist.net/apiconfig/references/api/v2)

Display:Display.java
- Switched the AI model to `qwen3:8b`
- some temporary test changes
- switched to using static references when supposed too

MALAPITool
- Module for handling the MAL API

MALAPITool:README.md
- Some general information about the tools

Started adding some base systems for finding API endpoints, will later be added to the API module for the ability to add plugins

.gitignore
- Added so all data folder are ignored. So submodules data folder from testing aren't added to git

Core:OllamaObject.java
- switched location of messages.json from the static location of `./cache/` to the dynamic location of `${Core.DATA_DIR}/messages.json`

Core:OllamaPerameter.java
- Added ENUM and ARRAY values. Incidentally also discover that Ollama supports more than just STRING, INT, and BOOLEAN ad parameters

Core:Core.java
- Added precluding day to the name of logging files, now using the format dd_HH-mm-ss
This commit is contained in:
2025-05-23 15:24:58 +02:00
parent 58c23c5897
commit 5c3efa1376
19 changed files with 678 additions and 18 deletions

View File

@@ -5,6 +5,7 @@ import me.zacharias.chat.core.Pair;
import me.zacharias.chat.core.PrintMessageHandler;
import me.zacharias.chat.core.files.FileHandlerLocation;
import me.zacharias.chat.core.memory.CoreMemory;
import me.zacharias.chat.mal.api.MALAPITool;
import me.zacharias.chat.ollama.*;
import org.json.JSONObject;
@@ -42,16 +43,18 @@ public class Display {
public Display()
{
core.setOllamaObject(OllamaObject.builder()
.setModel("llama3.2")
//.setModel("deepseek-r1")
core.setOllamaObject/*NoMemory*/(OllamaObject.builder()
//.setModel("llama3.2")
//.setModel("gemma3:12b")
.setModel("qwen3:8b")
.keep_alive(10)
//.stream(false)
.addFileTools(FileHandlerLocation.DATA_FILES)
//.addFileTools(FileHandlerLocation.DATA_FILES)
.build());
//core.addTool(new TimeTool(), Core.Source.INTERNAL);
core.addTool(new TimeTool(), Core.Source.INTERNAL);
//core.addTool(new PythonRunner(core), Core.Source.INTERNAL);
core.addTools(new MALAPITool().getOllamaTools());
//core.getOllamaObject().addMessage(new OllamaMessage(OllamaMessageRole.SYSTEM, "Have a nice tone and use formal wording"));
@@ -101,7 +104,7 @@ public class Display {
System.exit(0);
return;
case "write":
core.flushLog();
Core.flushLog();
break;
case "peek":
CoreMemory coreMemory = CoreMemory.getInstance();