server: fix finish_reason for token-limit stops (#2362)
This commit is contained in:
parent
1d76336eeb
commit
ef40550042
|
|
@ -2396,7 +2396,6 @@ void server_context::send_error(const int id_task, const int id_multi, const std
|
|||
auto res = std::make_unique<server_task_result_error>();
|
||||
res->id = id_task;
|
||||
res->id_multi = id_multi;
|
||||
res->stop = false;
|
||||
res->error = true;
|
||||
res->err_type = type;
|
||||
res->err_msg = error;
|
||||
|
|
@ -2423,7 +2422,6 @@ void server_context::send_partial_response(server_slot& slot, completion_token_o
|
|||
res->id_multi = slot.id_multi;
|
||||
res->index = slot.task->index;
|
||||
res->error = false;
|
||||
res->stop = false;
|
||||
res->stream = slot.params.stream;
|
||||
res->content = tkn.text_to_send;
|
||||
res->post_sampling_probs = slot.params.post_sampling_probs;
|
||||
|
|
@ -2497,7 +2495,10 @@ void server_context::send_final_response(server_slot& slot) {
|
|||
res->id_multi = slot.id_multi;
|
||||
res->index = slot.task->index;
|
||||
res->error = false;
|
||||
res->stop = true; // to do: set value
|
||||
res->stop = slot.stopped_word ? STOP_TYPE_WORD
|
||||
: slot.stopped_eos ? STOP_TYPE_EOS
|
||||
: slot.stopped_limit ? STOP_TYPE_LIMIT
|
||||
: STOP_TYPE_EOS;
|
||||
res->stream = slot.params.stream;
|
||||
res->include_usage = slot.params.include_usage;
|
||||
res->content = slot.generated_text;
|
||||
|
|
@ -2911,7 +2912,6 @@ void server_context::process_single_task(server_task&& task) {
|
|||
server_task_result res;
|
||||
res.id = task.id;
|
||||
res.id_multi = task.id_multi;
|
||||
res.stop = true;
|
||||
res.error = false;
|
||||
res.data = {
|
||||
{ "idle", n_idle_slots },
|
||||
|
|
@ -2975,7 +2975,6 @@ void server_context::process_single_task(server_task&& task) {
|
|||
|
||||
server_task_result result;
|
||||
result.id = task.id;
|
||||
result.stop = true;
|
||||
result.error = false;
|
||||
result.data = json{
|
||||
{ "id_slot", id_slot },
|
||||
|
|
@ -3023,7 +3022,6 @@ void server_context::process_single_task(server_task&& task) {
|
|||
|
||||
server_task_result result;
|
||||
result.id = task.id;
|
||||
result.stop = true;
|
||||
result.error = false;
|
||||
result.data = json{
|
||||
{ "id_slot", id_slot },
|
||||
|
|
@ -3059,7 +3057,6 @@ void server_context::process_single_task(server_task&& task) {
|
|||
slot->server_cached_prompt.data.clear();
|
||||
server_task_result result;
|
||||
result.id = task.id;
|
||||
result.stop = true;
|
||||
result.error = false;
|
||||
result.data = json{
|
||||
{ "id_slot", id_slot },
|
||||
|
|
@ -3072,7 +3069,6 @@ void server_context::process_single_task(server_task&& task) {
|
|||
llama_lora_adapters_apply(ctx, lora_adapters);
|
||||
server_task_result result;
|
||||
result.id = task.id;
|
||||
result.stop = true;
|
||||
result.error = false;
|
||||
result.data = json{ { "success", true } };
|
||||
queue_results.send(result);
|
||||
|
|
@ -3280,7 +3276,6 @@ void server_context::on_finish_multitask(const server_task_multi& multitask) {
|
|||
// all subtasks done == multitask is done
|
||||
server_task_result result;
|
||||
result.id = multitask.id;
|
||||
result.stop = true;
|
||||
result.error = false;
|
||||
|
||||
// collect json results into one json result
|
||||
|
|
|
|||
|
|
@ -370,7 +370,7 @@ json server_task_result_cmpl_final::to_json_oaicompat_chat_final() {
|
|||
msg.role = "assistant";
|
||||
msg.content = content;
|
||||
}
|
||||
if (stop) {
|
||||
if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) {
|
||||
finish_reason = msg.tool_calls.empty() ? "stop" : "tool_calls";
|
||||
}
|
||||
|
||||
|
|
@ -412,8 +412,7 @@ json server_task_result_cmpl_final::to_json_oaicompat_chat_final() {
|
|||
json server_task_result_cmpl_final::to_json_oaicompat_chat_stream() {
|
||||
std::time_t t = std::time(0);
|
||||
std::string finish_reason = "length";
|
||||
if (stop) {
|
||||
//if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) {
|
||||
if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) {
|
||||
finish_reason = oaicompat_msg.tool_calls.empty() ? "stop" : "tool_calls";
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ struct server_task_result {
|
|||
|
||||
json data;
|
||||
|
||||
bool stop;
|
||||
stop_type stop = STOP_TYPE_NONE;
|
||||
bool error;
|
||||
bool final_result = false;
|
||||
result_timings timings;
|
||||
|
|
|
|||
Loading…
Reference in New Issue