From ead1e0c90ebd5827d6f6fb15e71cb290339bee75 Mon Sep 17 00:00:00 2001 From: Nathan Date: Thu, 10 Apr 2025 23:14:42 -0500 Subject: [PATCH] add Ollama --- .../src/{calculator.cpp => Calculator.cpp} | 0 modules/Calculator/src/Calculator.h | 0 modules/MainGUI/src/MainGUI.h | 2 - modules/Ollama/src/Ollama.cpp | 49 +++++++++++++++++++ modules/Ollama/src/Ollama.h | 18 +++++++ 5 files changed, 67 insertions(+), 2 deletions(-) rename modules/Calculator/src/{calculator.cpp => Calculator.cpp} (100%) create mode 100644 modules/Calculator/src/Calculator.h create mode 100644 modules/Ollama/src/Ollama.cpp create mode 100644 modules/Ollama/src/Ollama.h diff --git a/modules/Calculator/src/calculator.cpp b/modules/Calculator/src/Calculator.cpp similarity index 100% rename from modules/Calculator/src/calculator.cpp rename to modules/Calculator/src/Calculator.cpp diff --git a/modules/Calculator/src/Calculator.h b/modules/Calculator/src/Calculator.h new file mode 100644 index 0000000..e69de29 diff --git a/modules/MainGUI/src/MainGUI.h b/modules/MainGUI/src/MainGUI.h index b3512de..f0f50a3 100644 --- a/modules/MainGUI/src/MainGUI.h +++ b/modules/MainGUI/src/MainGUI.h @@ -1,7 +1,5 @@ #include "Archimedes.h" -#include "utils/Window/Window.h" - class MainGUI : public Archimedes::Module { public: diff --git a/modules/Ollama/src/Ollama.cpp b/modules/Ollama/src/Ollama.cpp new file mode 100644 index 0000000..7a3d011 --- /dev/null +++ b/modules/Ollama/src/Ollama.cpp @@ -0,0 +1,49 @@ +#include "Ollama.h" +#include "modules/ImguiModule/src/ImguiModule.h" + +#include +#include + +Ollama::Ollama(Archimedes::App* a, void* h) : Archimedes::Module(a, h) { + + name = "Ollama"; + + ImguiModule* im = new ImguiModule(a, nullptr); + deps[im->getName()] = im; +} + +Ollama::~Ollama() { + +} + +void Ollama::onLoad() { + + ImguiModule* im = (ImguiModule*) moduleInstances["ImguiModule"]; + + if(!im) { + std::cout << "No ImguiModule for Ollama!\n"; + std::abort(); + } + + ImGui::SetCurrentContext(im->getContext()); + +} + +void Ollama::run() { + + static std::string s, url, response = ""; + + ImGui::Begin("Ollama Module"); + + ImGui::InputText("url: ", &url); + + ImGui::InputTextMultiline("prompt: ", &s); + + if(ImGui::Button("send")) { + + } + + ImGui::Text("%s", response.c_str()); + + ImGui::End(); +} diff --git a/modules/Ollama/src/Ollama.h b/modules/Ollama/src/Ollama.h new file mode 100644 index 0000000..478c484 --- /dev/null +++ b/modules/Ollama/src/Ollama.h @@ -0,0 +1,18 @@ +#include "Archimedes.h" + +class Ollama : public Archimedes::Module { + + public: + Ollama(Archimedes::App*, void*); + + ~Ollama(); + + void onLoad(); + + void run(); +}; + +#ifdef OLLAMA_DYNAMIC +#define MODULE_TYPE Ollama +#include "endModule.h" +#endif