From cff8cbf9c567e1f61f73479ae584f784b1f39e89 Mon Sep 17 00:00:00 2001 From: Ricardo Maraschini Date: Thu, 17 Apr 2025 04:47:51 +0200 Subject: [PATCH] feat: add config for ollama keep alive (#1858) --- lua/avante/config.lua | 1 + lua/avante/providers/ollama.lua | 2 ++ lua/avante/types.lua | 1 + 3 files changed, 4 insertions(+) diff --git a/lua/avante/config.lua b/lua/avante/config.lua index 2a28d02..a7c7be7 100644 --- a/lua/avante/config.lua +++ b/lua/avante/config.lua @@ -288,6 +288,7 @@ M._defaults = { options = { temperature = 0, num_ctx = 20480, + keep_alive = "5m", }, }, ---@type AvanteSupportedProvider diff --git a/lua/avante/providers/ollama.lua b/lua/avante/providers/ollama.lua index 684048b..5a84b50 100644 --- a/lua/avante/providers/ollama.lua +++ b/lua/avante/providers/ollama.lua @@ -38,6 +38,7 @@ end ---@param prompt_opts AvantePromptOptions function M:parse_curl_args(prompt_opts) local provider_conf, request_body = P.parse_config(self) + local keep_alive = provider_conf.keep_alive or "5m" if not provider_conf.model or provider_conf.model == "" then error("Ollama model must be specified in config") end if not provider_conf.endpoint then error("Ollama requires endpoint configuration") end @@ -53,6 +54,7 @@ function M:parse_curl_args(prompt_opts) messages = self:parse_messages(prompt_opts), stream = true, system = prompt_opts.system_prompt, + keep_alive = keep_alive, }, request_body), } end diff --git a/lua/avante/types.lua b/lua/avante/types.lua index 21226ea..45c4b91 100644 --- a/lua/avante/types.lua +++ b/lua/avante/types.lua @@ -206,6 +206,7 @@ vim.g.avante_login = vim.g.avante_login ---@field model? string ---@field local? boolean ---@field proxy? string +---@field keep_alive? string ---@field timeout? integer ---@field allow_insecure? boolean ---@field api_key_name? string