fix: bedrock (#1511)

This commit is contained in:
yetone
2025-03-07 00:30:30 +08:00
committed by GitHub
parent 8620ea3e12
commit 25dee44de9
3 changed files with 16 additions and 7 deletions

View File

@@ -6,6 +6,8 @@ local Scan = require("plenary.scandir")
local Config = require("avante.config")
---@class avante.Path
---@field history_path Path
---@field cache_path Path
local P = {}
local history_file_cache = LRUCache:new(12)

View File

@@ -7,6 +7,13 @@ local M = {}
M.api_key_name = "BEDROCK_KEYS"
M.use_xml_format = true
setmetatable(M, {
__index = function(_, k)
local model_handler = M.load_model_handler()
return model_handler[k]
end,
})
function M.load_model_handler()
local provider_conf, _ = P.parse_config(P["bedrock"])
local bedrock_model = provider_conf.model
@@ -18,6 +25,11 @@ function M.load_model_handler()
error(error_msg)
end
function M:parse_messages(prompt_opts)
local model_handler = M.load_model_handler()
return model_handler.parse_messages(self, prompt_opts)
end
function M:parse_response(ctx, data_stream, event_state, opts)
local model_handler = M.load_model_handler()
return model_handler.parse_response(self, ctx, data_stream, event_state, opts)

View File

@@ -272,14 +272,13 @@ vim.g.avante_login = vim.g.avante_login
---@field parse_stream_data? AvanteStreamParser
---@field on_error? fun(result: table<string, any>): nil
---
---@alias AvanteBedrockPayloadBuilder fun(self: AvanteProviderFunctor, prompt_opts: AvantePromptOptions, body_opts: table<string, any>): table<string, any>
---@alias AvanteBedrockPayloadBuilder fun(self: AvanteBedrockModelHandler | AvanteBedrockProviderFunctor, prompt_opts: AvantePromptOptions, body_opts: table<string, any>): table<string, any>
---
---@class AvanteBedrockProviderFunctor: AvanteProviderFunctor
---@field load_model_handler fun(): AvanteBedrockModelHandler
---@field build_bedrock_payload? AvanteBedrockPayloadBuilder
---
---
---@class AvanteBedrockModelHandler
---@class AvanteBedrockModelHandler : AvanteProviderFunctor
---@field role_map table<"user" | "assistant", string>
---@field parse_messages AvanteMessagesParser
---@field parse_response AvanteResponseParser
@@ -377,10 +376,6 @@ vim.g.avante_login = vim.g.avante_login
---@class avante.ChatMemory
---@field content string
---@field last_summarized_timestamp string
---@class avante.Path
---@field history_path Path
---@field cache_path Path
---
---@class avante.CurlOpts
---@field provider AvanteProviderFunctor