seed and gen params

This commit is contained in:
Henri Vasserman 2023-05-28 17:03:01 +03:00
parent dda915cac4
commit 7186d655a1
No known key found for this signature in database
GPG key ID: 2995FC0F58B1A986

View file

@ -92,6 +92,7 @@ struct llama_server_context
}
}
n_remain = params.n_predict;
llama_set_rng_seed(ctx, params.seed);
}
llama_token nextToken() {
@ -518,11 +519,11 @@ bool parse_options_completion(json body, llama_server_context& llama, Response &
}
if (!body["seed"].is_null())
{
llama.params.seed = body["seed"].get<int>();
llama.params.seed = body["seed"].get<int>();
}
else
{
llama.params.seed = -1;
llama.params.seed = time(NULL);
}
if (!body["prompt"].is_null())
{
@ -544,6 +545,25 @@ bool parse_options_completion(json body, llama_server_context& llama, Response &
return true;
}
json format_generation_settings(const llama_server_context& llama) {
return json {
{ "seed", llama.params.seed },
{ "temp", llama.params.temp },
{ "top_k", llama.params.top_k },
{ "top_p", llama.params.top_p },
{ "tfs_z", llama.params.tfs_z },
{ "typical_p", llama.params.typical_p },
{ "repeat_last_n", llama.params.repeat_last_n },
{ "repeat_penalty", llama.params.repeat_penalty },
{ "presence_penalty", llama.params.presence_penalty },
{ "frequency_penalty", llama.params.frequency_penalty },
{ "mirostat", llama.params.mirostat },
{ "mirostat_tau", llama.params.mirostat_tau },
{ "mirostat_eta", llama.params.mirostat_eta },
{ "penalize_nl", llama.params.penalize_nl }
};
}
int main(int argc, char **argv)
{
// own arguments required by this example
@ -616,23 +636,7 @@ int main(int argc, char **argv)
json data = {
{"content", llama.generated_text },
{"tokens_predicted", llama.num_tokens_predicted},
{"seed", llama.params.seed},
{"generation_settings", {
"temp", llama.params.temp,
"top_k", llama.params.top_k,
"top_p", llama.params.top_p,
"tfs_z", llama.params.tfs_z,
"typical_p", llama.params.typical_p,
"repeat_last_n", llama.params.repeat_last_n,
"repeat_penalty", llama.params.repeat_penalty,
"presence_penalty", llama.params.presence_penalty,
"frequency_penalty", llama.params.frequency_penalty,
"mirostat", llama.params.mirostat,
"mirostat_tau", llama.params.mirostat_tau,
"mirostat_eta", llama.params.mirostat_eta,
"penalize_nl", llama.params.penalize_nl
}
},
{"generation_settings", format_generation_settings(llama) },
{"prompt", llama.params.prompt},
{"stopping_word", llama.stopping_word} };
return res.set_content(data.dump(), "application/json");
@ -702,23 +706,7 @@ int main(int argc, char **argv)
{"content", result },
{"stop", true },
{"tokens_predicted", llama.num_tokens_predicted},
{"seed", llama.params.seed},
{"generation_settings", {
"temp", llama.params.temp,
"top_k", llama.params.top_k,
"top_p", llama.params.top_p,
"tfs_z", llama.params.tfs_z,
"typical_p", llama.params.typical_p,
"repeat_last_n", llama.params.repeat_last_n,
"repeat_penalty", llama.params.repeat_penalty,
"presence_penalty", llama.params.presence_penalty,
"frequency_penalty", llama.params.frequency_penalty,
"mirostat", llama.params.mirostat,
"mirostat_tau", llama.params.mirostat_tau,
"mirostat_eta", llama.params.mirostat_eta,
"penalize_nl", llama.params.penalize_nl
}
},
{"generation_settings", format_generation_settings(llama) },
{"prompt", llama.params.prompt},
{"stopping_word", llama.stopping_word},
{"generated_text", final_text}
@ -744,23 +732,7 @@ int main(int argc, char **argv)
{"content", u8"\uFFFD" },
{"stop", true },
{"tokens_predicted", llama.num_tokens_predicted},
{"seed", llama.params.seed},
{"generation_settings", {
"temp", llama.params.temp,
"top_k", llama.params.top_k,
"top_p", llama.params.top_p,
"tfs_z", llama.params.tfs_z,
"typical_p", llama.params.typical_p,
"repeat_last_n", llama.params.repeat_last_n,
"repeat_penalty", llama.params.repeat_penalty,
"presence_penalty", llama.params.presence_penalty,
"frequency_penalty", llama.params.frequency_penalty,
"mirostat", llama.params.mirostat,
"mirostat_tau", llama.params.mirostat_tau,
"mirostat_eta", llama.params.mirostat_eta,
"penalize_nl", llama.params.penalize_nl
}
},
{"generation_settings", format_generation_settings(llama) },
{"prompt", llama.params.prompt},
{"stopping_word", llama.stopping_word},
{"generated_text", final_text}