fix: bedrock (#1511)
This commit is contained in:
@@ -6,6 +6,8 @@ local Scan = require("plenary.scandir")
|
|||||||
local Config = require("avante.config")
|
local Config = require("avante.config")
|
||||||
|
|
||||||
---@class avante.Path
|
---@class avante.Path
|
||||||
|
---@field history_path Path
|
||||||
|
---@field cache_path Path
|
||||||
local P = {}
|
local P = {}
|
||||||
|
|
||||||
local history_file_cache = LRUCache:new(12)
|
local history_file_cache = LRUCache:new(12)
|
||||||
|
|||||||
@@ -7,6 +7,13 @@ local M = {}
|
|||||||
M.api_key_name = "BEDROCK_KEYS"
|
M.api_key_name = "BEDROCK_KEYS"
|
||||||
M.use_xml_format = true
|
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()
|
function M.load_model_handler()
|
||||||
local provider_conf, _ = P.parse_config(P["bedrock"])
|
local provider_conf, _ = P.parse_config(P["bedrock"])
|
||||||
local bedrock_model = provider_conf.model
|
local bedrock_model = provider_conf.model
|
||||||
@@ -18,6 +25,11 @@ function M.load_model_handler()
|
|||||||
error(error_msg)
|
error(error_msg)
|
||||||
end
|
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)
|
function M:parse_response(ctx, data_stream, event_state, opts)
|
||||||
local model_handler = M.load_model_handler()
|
local model_handler = M.load_model_handler()
|
||||||
return model_handler.parse_response(self, ctx, data_stream, event_state, opts)
|
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 parse_stream_data? AvanteStreamParser
|
||||||
---@field on_error? fun(result: table<string, any>): nil
|
---@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
|
---@class AvanteBedrockProviderFunctor: AvanteProviderFunctor
|
||||||
---@field load_model_handler fun(): AvanteBedrockModelHandler
|
---@field load_model_handler fun(): AvanteBedrockModelHandler
|
||||||
---@field build_bedrock_payload? AvanteBedrockPayloadBuilder
|
---@field build_bedrock_payload? AvanteBedrockPayloadBuilder
|
||||||
---
|
---
|
||||||
---
|
---@class AvanteBedrockModelHandler : AvanteProviderFunctor
|
||||||
---@class AvanteBedrockModelHandler
|
|
||||||
---@field role_map table<"user" | "assistant", string>
|
---@field role_map table<"user" | "assistant", string>
|
||||||
---@field parse_messages AvanteMessagesParser
|
---@field parse_messages AvanteMessagesParser
|
||||||
---@field parse_response AvanteResponseParser
|
---@field parse_response AvanteResponseParser
|
||||||
@@ -377,10 +376,6 @@ vim.g.avante_login = vim.g.avante_login
|
|||||||
---@class avante.ChatMemory
|
---@class avante.ChatMemory
|
||||||
---@field content string
|
---@field content string
|
||||||
---@field last_summarized_timestamp string
|
---@field last_summarized_timestamp string
|
||||||
|
|
||||||
---@class avante.Path
|
|
||||||
---@field history_path Path
|
|
||||||
---@field cache_path Path
|
|
||||||
---
|
---
|
||||||
---@class avante.CurlOpts
|
---@class avante.CurlOpts
|
||||||
---@field provider AvanteProviderFunctor
|
---@field provider AvanteProviderFunctor
|
||||||
|
|||||||
Reference in New Issue
Block a user