fix: cannot change provider model when last use model be stored (#2665)
This commit is contained in:
@@ -745,9 +745,15 @@ function M.save_last_model(model_name, provider_name)
|
|||||||
|
|
||||||
if not Utils.path_exists(config_dir) then vim.fn.mkdir(config_dir, "p") end
|
if not Utils.path_exists(config_dir) then vim.fn.mkdir(config_dir, "p") end
|
||||||
|
|
||||||
|
local Providers = require("avante.providers")
|
||||||
|
local provider = Providers[provider_name]
|
||||||
|
local provider_model = provider and provider.model
|
||||||
|
|
||||||
local file = io.open(storage_path, "w")
|
local file = io.open(storage_path, "w")
|
||||||
if file then
|
if file then
|
||||||
file:write(vim.json.encode({ last_model = model_name, last_provider = provider_name }))
|
file:write(
|
||||||
|
vim.json.encode({ last_model = model_name, last_provider = provider_name, provider_model = provider_model })
|
||||||
|
)
|
||||||
file:close()
|
file:close()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -777,12 +783,18 @@ function M.get_last_used_model(known_providers)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if data.last_provider and not known_providers[data.last_provider] then
|
if data.last_provider then
|
||||||
Utils.warn(
|
local provider = known_providers[data.last_provider]
|
||||||
"Provider " .. data.last_provider .. " is no longer a valid provider, falling back to default configuration"
|
if not provider then
|
||||||
)
|
Utils.warn(
|
||||||
os.remove(storage_path)
|
"Provider " .. data.last_provider .. " is no longer a valid provider, falling back to default configuration"
|
||||||
return
|
)
|
||||||
|
os.remove(storage_path)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
if data.provider_model and provider.model and provider.model ~= data.provider_model then
|
||||||
|
return provider.model, data.last_provider
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return data.last_model, data.last_provider
|
return data.last_model, data.last_provider
|
||||||
|
|||||||
Reference in New Issue
Block a user