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