Fix(server): stopped_word always true

`bool stopped_word` is always true, thus `finish_reason` will never be `length`,
  which makes the anti-degeneration failed to detect the repeating words.
This commit is contained in:
Kuriko Moe 2024-05-10 19:43:41 +08:00
parent 4e3880978f
commit cc3df3f388
No known key found for this signature in database
GPG key ID: 50807C7B4555E72A

View file

@ -431,7 +431,7 @@ static json oaicompat_completion_params_parse(
}
static json format_final_response_oaicompat(const json & request, json result, const std::string & completion_id, bool streaming = false) {
bool stopped_word = result.count("stopped_word") != 0;
bool stopped_word = json_value(result, "stopped_word", false);
bool stopped_eos = json_value(result, "stopped_eos", false);
int num_tokens_predicted = json_value(result, "tokens_predicted", 0);
int num_prompt_tokens = json_value(result, "tokens_evaluated", 0);