return reasoning_content before content

This commit is contained in:
ochafik 2025-02-08 17:58:46 +00:00
parent c0f972bb45
commit af63886030

View file

@ -725,9 +725,19 @@ struct server_task_result_cmpl_final : server_task_result {
msg.content = content; msg.content = content;
} }
json tool_calls; json message {
{"role", "assistant"},
};
if (!msg.reasoning_content.empty()) {
message["reasoning_content"] = msg.reasoning_content;
}
if (msg.content == "" && !msg.tool_calls.empty()) {
message["content"] = json();
} else {
message["content"] = msg.content;
}
if (!msg.tool_calls.empty()) { if (!msg.tool_calls.empty()) {
tool_calls = json::array(); auto tool_calls = json::array();
for (const auto & tc : msg.tool_calls) { for (const auto & tc : msg.tool_calls) {
tool_calls.push_back({ tool_calls.push_back({
{"type", "function"}, {"type", "function"},
@ -738,15 +748,7 @@ struct server_task_result_cmpl_final : server_task_result {
{"id", tc.id}, {"id", tc.id},
}); });
} }
} message["tool_calls"] = tool_calls;
json message {
{"content", msg.content == "" && !tool_calls.empty() ? json() : json(msg.content)},
{"tool_calls", tool_calls},
{"role", "assistant"},
};
if (!msg.reasoning_content.empty()) {
message["reasoning_content"] = msg.reasoning_content;
} }
json choice { json choice {