summaryrefslogtreecommitdiff
path: root/Omni/Agent/Worker.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Omni/Agent/Worker.hs')
-rw-r--r--Omni/Agent/Worker.hs11
1 files changed, 9 insertions, 2 deletions
diff --git a/Omni/Agent/Worker.hs b/Omni/Agent/Worker.hs
index 66f894d..3b0c563 100644
--- a/Omni/Agent/Worker.hs
+++ b/Omni/Agent/Worker.hs
@@ -21,6 +21,7 @@ import qualified Data.Time
import qualified Omni.Agent.Core as Core
import qualified Omni.Agent.Engine as Engine
import qualified Omni.Agent.Log as AgentLog
+import qualified Omni.Agent.Provider as Provider
import qualified Omni.Agent.Tools as Tools
import qualified Omni.Fact as Fact
import qualified Omni.Task.Core as TaskCore
@@ -357,8 +358,14 @@ runWithEngine worker repo task = do
Engine.agentGuardrails = guardrails
}
- -- Run the agent
- result <- Engine.runAgent engineCfg agentCfg userPrompt
+ -- Run the agent with appropriate provider
+ result <- case Core.workerEngine worker of
+ Core.EngineOpenRouter -> Engine.runAgent engineCfg agentCfg userPrompt
+ Core.EngineOllama -> do
+ ollamaModel <- fromMaybe "llama3.1:8b" </ Env.lookupEnv "OLLAMA_MODEL"
+ let provider = Provider.defaultOllama (Text.pack ollamaModel)
+ Engine.runAgentWithProvider engineCfg provider agentCfg userPrompt
+ Core.EngineAmp -> pure (Left "Amp engine not yet implemented")
totalCost <- readIORef totalCostRef
case result of