server : support preserving reasoning_content in assistant message (#18994)
* support reasoning_content input * report template caps to webui * add docs * rm commented code
This commit is contained in:
parent
a5eaa1d6a3
commit
51fa458a92
10 changed files with 165 additions and 131 deletions
|
|
@ -462,9 +462,9 @@ static void test_parser_with_streaming(const common_chat_msg & expected, const s
|
|||
for (size_t i = 1; i <= raw_message.size(); ++i) {
|
||||
auto curr_msg = parse_msg(std::string(utf8_truncate_safe_view(std::string_view(raw_message).substr(0, i))));
|
||||
if (curr_msg == simple_assist_msg("")) continue;
|
||||
LOG_INF("Streaming msg: %s\n", common_chat_msgs_to_json_oaicompat<json>({curr_msg}).dump().c_str());
|
||||
LOG_INF("Streaming msg: %s\n", common_chat_msgs_to_json_oaicompat({curr_msg}).dump().c_str());
|
||||
for (auto diff: common_chat_msg_diff::compute_diffs(last_msg, curr_msg)) {
|
||||
LOG_INF("Streaming diff: %s\n", common_chat_msg_diff_to_json_oaicompat<json>(diff).dump().c_str());
|
||||
LOG_INF("Streaming diff: %s\n", common_chat_msg_diff_to_json_oaicompat(diff).dump().c_str());
|
||||
if (!diff.reasoning_content_delta.empty()) {
|
||||
merged.reasoning_content += diff.reasoning_content_delta;
|
||||
}
|
||||
|
|
@ -480,7 +480,7 @@ static void test_parser_with_streaming(const common_chat_msg & expected, const s
|
|||
merged.tool_calls.back().arguments += diff.tool_call_delta.arguments;
|
||||
}
|
||||
}
|
||||
LOG_INF("Streaming merged: %s\n", common_chat_msgs_to_json_oaicompat<json>({merged}).dump().c_str());
|
||||
LOG_INF("Streaming merged: %s\n", common_chat_msgs_to_json_oaicompat({merged}).dump().c_str());
|
||||
}
|
||||
assert_msg_equals(curr_msg, merged, true);
|
||||
last_msg = curr_msg;
|
||||
|
|
@ -622,7 +622,7 @@ static void test_msgs_oaicompat_json_conversion() {
|
|||
message_assist_call_code_interpreter,
|
||||
};
|
||||
for (const auto & msg : msgs) {
|
||||
auto oai_json = common_chat_msgs_to_json_oaicompat<json>({msg});
|
||||
auto oai_json = common_chat_msgs_to_json_oaicompat({msg});
|
||||
auto msgs2 = common_chat_msgs_parse_oaicompat(oai_json);
|
||||
assert_equals((size_t) 1, msgs2.size());
|
||||
auto msg2 = msgs2[0];
|
||||
|
|
@ -646,7 +646,7 @@ static void test_msgs_oaicompat_json_conversion() {
|
|||
" }\n"
|
||||
"]"
|
||||
),
|
||||
common_chat_msgs_to_json_oaicompat<json>({message_user_parts}).dump(2));
|
||||
common_chat_msgs_to_json_oaicompat({message_user_parts}).dump(2));
|
||||
|
||||
assert_equals(
|
||||
std::string(
|
||||
|
|
@ -666,7 +666,7 @@ static void test_msgs_oaicompat_json_conversion() {
|
|||
" }\n"
|
||||
"]"
|
||||
),
|
||||
common_chat_msgs_to_json_oaicompat<json>({message_assist_call_python}).dump(2));
|
||||
common_chat_msgs_to_json_oaicompat({message_assist_call_python}).dump(2));
|
||||
|
||||
auto res = common_chat_msgs_parse_oaicompat(json::parse("[{\"role\": \"assistant\", \"tool_calls\": []}]"));
|
||||
assert_equals<size_t>(1, res.size());
|
||||
|
|
@ -693,7 +693,7 @@ static void test_tools_oaicompat_json_conversion() {
|
|||
};
|
||||
|
||||
for (const auto & tool : tools) {
|
||||
auto oai_json = common_chat_tools_to_json_oaicompat<json>({tool});
|
||||
auto oai_json = common_chat_tools_to_json_oaicompat({tool});
|
||||
auto tools2 = common_chat_tools_parse_oaicompat(oai_json);
|
||||
assert_equals((size_t) 1, tools2.size());
|
||||
auto tool2 = tools2[0];
|
||||
|
|
@ -726,7 +726,7 @@ static void test_tools_oaicompat_json_conversion() {
|
|||
" }\n"
|
||||
"]"
|
||||
),
|
||||
common_chat_tools_to_json_oaicompat<json>({special_function_tool}).dump(2));
|
||||
common_chat_tools_to_json_oaicompat({special_function_tool}).dump(2));
|
||||
|
||||
{
|
||||
auto tools_no_params = common_chat_tools_parse_oaicompat(json::parse(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue