fix: bedrock (#1511)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user