Revert "fix: Always handle the extra response outside of stream, such as the exceptions from bedrock (#1526)" (#1569)
This reverts commit f9ab6934d2.
This commit is contained in:
@@ -246,9 +246,7 @@ function M.curl(opts)
|
||||
end
|
||||
|
||||
local function parse_response_without_stream(data)
|
||||
if provider.parse_response_without_stream then
|
||||
provider:parse_response_without_stream(data, current_event_state, handler_opts)
|
||||
end
|
||||
provider:parse_response_without_stream(data, current_event_state, handler_opts)
|
||||
end
|
||||
|
||||
local completed = false
|
||||
@@ -356,8 +354,8 @@ function M.curl(opts)
|
||||
end)
|
||||
end
|
||||
|
||||
-- Always handle the extra response outside of stream, such as the exceptions from bedrock
|
||||
if result.status == 200 then
|
||||
-- If stream is not enabled, then handle the response here
|
||||
if provider:is_disable_stream() and result.status == 200 then
|
||||
vim.schedule(function()
|
||||
completed = true
|
||||
parse_response_without_stream(result.body)
|
||||
|
||||
@@ -16,6 +16,7 @@ M.api_key_name = "AZURE_OPENAI_API_KEY"
|
||||
M.parse_messages = O.parse_messages
|
||||
M.parse_response = O.parse_response
|
||||
M.parse_response_without_stream = O.parse_response_without_stream
|
||||
M.is_disable_stream = O.is_disable_stream
|
||||
M.is_o_series_model = O.is_o_series_model
|
||||
M.role_map = O.role_map
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ M.role_map = {
|
||||
assistant = "assistant",
|
||||
}
|
||||
|
||||
M.is_disable_stream = Claude.is_disable_stream
|
||||
M.parse_messages = Claude.parse_messages
|
||||
M.parse_response = Claude.parse_response
|
||||
|
||||
|
||||
@@ -36,6 +36,8 @@ function M.transform_tool(tool)
|
||||
}
|
||||
end
|
||||
|
||||
function M:is_disable_stream() return false end
|
||||
|
||||
function M:parse_messages(opts)
|
||||
---@type AvanteClaudeMessage[]
|
||||
local messages = {}
|
||||
|
||||
@@ -47,6 +47,8 @@ M.role_map = {
|
||||
assistant = "assistant",
|
||||
}
|
||||
|
||||
function M:is_disable_stream() return false end
|
||||
|
||||
function M:parse_messages(opts)
|
||||
local messages = {
|
||||
{ role = "system", content = opts.system_prompt },
|
||||
|
||||
@@ -209,6 +209,8 @@ M.role_map = {
|
||||
assistant = "assistant",
|
||||
}
|
||||
|
||||
function M:is_disable_stream() return false end
|
||||
|
||||
M.parse_messages = OpenAI.parse_messages
|
||||
|
||||
M.parse_response = OpenAI.parse_response
|
||||
|
||||
@@ -12,6 +12,8 @@ M.role_map = {
|
||||
}
|
||||
-- M.tokenizer_id = "google/gemma-2b"
|
||||
|
||||
function M:is_disable_stream() return false end
|
||||
|
||||
function M:parse_messages(opts)
|
||||
local contents = {}
|
||||
local prev_role = nil
|
||||
|
||||
@@ -14,6 +14,8 @@ M.role_map = {
|
||||
M.parse_messages = P.openai.parse_messages
|
||||
M.is_o_series_model = P.openai.is_o_series_model
|
||||
|
||||
function M:is_disable_stream() return false end
|
||||
|
||||
function M:parse_stream_data(ctx, data, handler_opts)
|
||||
local ok, json_data = pcall(vim.json.decode, data)
|
||||
if not ok or not json_data then
|
||||
|
||||
@@ -13,6 +13,8 @@ M.role_map = {
|
||||
assistant = "assistant",
|
||||
}
|
||||
|
||||
function M:is_disable_stream() return false end
|
||||
|
||||
---@param tool AvanteLLMTool
|
||||
---@return AvanteOpenAITool
|
||||
function M.transform_tool(tool)
|
||||
|
||||
@@ -11,6 +11,7 @@ M.role_map = {
|
||||
assistant = "model",
|
||||
}
|
||||
|
||||
M.is_disable_stream = Gemini.is_disable_stream
|
||||
M.parse_messages = Gemini.parse_messages
|
||||
M.parse_response = Gemini.parse_response
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ M.role_map = {
|
||||
assistant = "assistant",
|
||||
}
|
||||
|
||||
M.is_disable_stream = P.claude.is_disable_stream
|
||||
M.parse_messages = P.claude.parse_messages
|
||||
M.parse_response = P.claude.parse_response
|
||||
M.parse_api_key = Vertex.parse_api_key
|
||||
|
||||
@@ -261,6 +261,7 @@ vim.g.avante_login = vim.g.avante_login
|
||||
---@field parse_messages AvanteMessagesParser
|
||||
---@field parse_response AvanteResponseParser
|
||||
---@field parse_curl_args AvanteCurlArgsParser
|
||||
---@field is_disable_stream fun(self: AvanteProviderFunctor): boolean
|
||||
---@field setup fun(): nil
|
||||
---@field is_env_set fun(): boolean
|
||||
---@field api_key_name string
|
||||
|
||||
Reference in New Issue
Block a user