| 671 | } |
| 672 | |
| 673 | bool launch_slot_with_data(llama_client_slot* &slot, json data) { |
| 674 | slot_params default_params; |
| 675 | llama_sampling_params default_sparams; |
| 676 | |
| 677 | slot->params.stream = json_value(data, "stream", false); |
| 678 | slot->params.cache_prompt = json_value(data, "cache_prompt", false); |
| 679 | slot->params.n_predict = json_value(data, "n_predict", default_params.n_predict); |
| 680 | slot->sparams.top_k = json_value(data, "top_k", default_sparams.top_k); |
| 681 | slot->sparams.top_p = json_value(data, "top_p", default_sparams.top_p); |
| 682 | slot->sparams.min_p = json_value(data, "min_p", default_sparams.min_p); |
| 683 | slot->sparams.tfs_z = json_value(data, "tfs_z", default_sparams.tfs_z); |
| 684 | slot->sparams.typical_p = json_value(data, "typical_p", default_sparams.typical_p); |
| 685 | slot->sparams.temp = json_value(data, "temperature", default_sparams.temp); |
| 686 | slot->sparams.penalty_last_n = json_value(data, "repeat_last_n", default_sparams.penalty_last_n); |
| 687 | slot->sparams.penalty_repeat = json_value(data, "repeat_penalty", default_sparams.penalty_repeat); |
| 688 | slot->sparams.penalty_freq = json_value(data, "frequency_penalty", default_sparams.penalty_freq); |
| 689 | slot->sparams.penalty_present = json_value(data, "presence_penalty", default_sparams.penalty_present); |
| 690 | slot->sparams.mirostat = json_value(data, "mirostat", default_sparams.mirostat); |
| 691 | slot->sparams.mirostat_tau = json_value(data, "mirostat_tau", default_sparams.mirostat_tau); |
| 692 | slot->sparams.mirostat_eta = json_value(data, "mirostat_eta", default_sparams.mirostat_eta); |
| 693 | slot->sparams.penalize_nl = json_value(data, "penalize_nl", default_sparams.penalize_nl); |
| 694 | slot->params.n_keep = json_value(data, "n_keep", slot->params.n_keep); |
| 695 | slot->params.seed = json_value(data, "seed", default_params.seed); |
| 696 | slot->sparams.grammar = json_value(data, "grammar", default_sparams.grammar); |
| 697 | slot->sparams.n_probs = json_value(data, "n_probs", default_sparams.n_probs); |
| 698 | |
| 699 | // infill |
| 700 | if (data.count("input_prefix") != 0) |
| 701 | { |
| 702 | slot->params.input_prefix = data["input_prefix"]; |
| 703 | } |
| 704 | else |
| 705 | { |
| 706 | slot->params.input_prefix = ""; |
| 707 | } |
| 708 | |
| 709 | if (data.count("input_suffix") != 0) |
| 710 | { |
| 711 | slot->params.input_suffix = data["input_suffix"]; |
| 712 | } |
| 713 | else |
| 714 | { |
| 715 | slot->params.input_suffix = ""; |
| 716 | } |
| 717 | |
| 718 | if (data.count("prompt") != 0) |
| 719 | { |
| 720 | slot->prompt = data["prompt"]; |
| 721 | } |
| 722 | else |
| 723 | { |
| 724 | slot->prompt = ""; |
| 725 | } |
| 726 | |
| 727 | slot->sparams.logit_bias.clear(); |
| 728 | |
| 729 | if (json_value(data, "ignore_eos", false)) |
| 730 | { |
nothing calls this directly
no test coverage detected