fix: openai tool histories (#1606)
This commit is contained in:
@@ -113,7 +113,7 @@ function M:parse_messages(opts)
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
table.insert(messages, { role = self.role_map[msg.role], content = content })
|
if #content > 0 then table.insert(messages, { role = self.role_map[msg.role], content = content }) end
|
||||||
if not provider_conf.disable_tools then
|
if not provider_conf.disable_tools then
|
||||||
if #tool_calls > 0 then
|
if #tool_calls > 0 then
|
||||||
table.insert(messages, { role = self.role_map["assistant"], tool_calls = tool_calls })
|
table.insert(messages, { role = self.role_map["assistant"], tool_calls = tool_calls })
|
||||||
@@ -150,14 +150,14 @@ function M:parse_messages(opts)
|
|||||||
vim.iter(messages):each(function(message)
|
vim.iter(messages):each(function(message)
|
||||||
local role = message.role
|
local role = message.role
|
||||||
if role == prev_role then
|
if role == prev_role then
|
||||||
if role == self.role_map["user"] then
|
if role == self.role_map["assistant"] then
|
||||||
table.insert(final_messages, { role = self.role_map["assistant"], content = "Ok, I understand." })
|
|
||||||
else
|
|
||||||
table.insert(final_messages, { role = self.role_map["user"], content = "Ok" })
|
table.insert(final_messages, { role = self.role_map["user"], content = "Ok" })
|
||||||
|
else
|
||||||
|
table.insert(final_messages, { role = self.role_map["assistant"], content = "Ok, I understand." })
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
prev_role = role
|
prev_role = role
|
||||||
table.insert(final_messages, { role = self.role_map[role] or role, content = message.content })
|
table.insert(final_messages, message)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
if opts.tool_histories then
|
if opts.tool_histories then
|
||||||
|
|||||||
Reference in New Issue
Block a user