add AvanteSwitchProvider local model switching

This commit is contained in:
2024-09-01 19:55:33 -07:00
parent a4147ffafa
commit bb499026d6
2 changed files with 63 additions and 15 deletions

View File

@ -8,14 +8,61 @@ return {
claude = {
["local"] = true,
},
provider = "ollama",
provider = "ol_llama",
vendors = {
provider = "ollama",
---@type AvanteProvider
ollama = {
ol_llama = {
["local"] = true,
endpoint = "127.0.0.1:11434/v1",
model = "llama3.1",
model = "llama3.1:latest",
parse_curl_args = function(opts, code_opts)
return {
url = opts.endpoint .. "/chat/completions",
headers = {
["Accept"] = "application/json",
["Content-Type"] = "application/json",
},
body = {
model = opts.model,
messages = require("avante.providers").copilot.parse_message(code_opts), -- you can make your own message, but this is very advanced
max_tokens = 2048,
stream = true,
},
}
end,
parse_response_data = function(data_stream, event_state, opts)
require("avante.providers").openai.parse_response(data_stream, event_state, opts)
end,
},
---@type AvanteProvider
ol_llama70b = {
["local"] = true,
endpoint = "127.0.0.1:11434/v1",
model = "llama3.1:70b",
parse_curl_args = function(opts, code_opts)
return {
url = opts.endpoint .. "/chat/completions",
headers = {
["Accept"] = "application/json",
["Content-Type"] = "application/json",
},
body = {
model = opts.model,
messages = require("avante.providers").copilot.parse_message(code_opts), -- you can make your own message, but this is very advanced
max_tokens = 2048,
stream = true,
},
}
end,
parse_response_data = function(data_stream, event_state, opts)
require("avante.providers").openai.parse_response(data_stream, event_state, opts)
end,
},
---@type AvanteProvider
ol_gemma = {
["local"] = true,
endpoint = "127.0.0.1:11434/v1",
model = "codegemma",
parse_curl_args = function(opts, code_opts)
return {
url = opts.endpoint .. "/chat/completions",
@ -68,8 +115,8 @@ return {
"nvim-lua/plenary.nvim",
"MunifTanjim/nui.nvim",
--- The below dependencies are optional,
--"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
"echasnovski/mini.icons",
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
-- "echasnovski/mini.icons",
{
-- support for image pasting
"HakonHarnes/img-clip.nvim",