Skip to content

Commit 022756a

Browse files
authored
server : fix server temperature + add temperature_inc (#1729)
* server : fix server temperature + add temperature_inc * server : change dashes to underscores in parameter names
1 parent 3b8c2df commit 022756a

File tree

2 files changed

+37
-31
lines changed

2 files changed

+37
-31
lines changed

examples/server/README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ options:
4646
--convert, [false ] Convert audio to WAV, requires ffmpeg on the server
4747
```
4848

49-
> [!WARNING]
49+
> [!WARNING]
5050
> **Do not run the server example with administrative privileges and ensure it's operated in a sandbox environment, especially since it involves risky operations like accepting user file uploads and using ffmpeg for format conversions. Always validate and sanitize inputs to guard against potential security threats.**
5151
5252
## request examples
@@ -56,8 +56,9 @@ options:
5656
curl 127.0.0.1:8080/inference \
5757
-H "Content-Type: multipart/form-data" \
5858
-F file="@<file-path>" \
59-
-F temperature="0.2" \
60-
-F response-format="json"
59+
-F temperature="0.0" \
60+
-F temperature_inc="0.2" \
61+
-F response_format="json"
6162
```
6263

6364
**/load**

examples/server/server.cpp

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -44,26 +44,27 @@ struct server_params
4444
int32_t port = 8080;
4545
int32_t read_timeout = 600;
4646
int32_t write_timeout = 600;
47-
47+
4848
bool ffmpeg_converter = false;
4949
};
5050

5151
struct whisper_params {
52-
int32_t n_threads = std::min(4, (int32_t) std::thread::hardware_concurrency());
53-
int32_t n_processors = 1;
54-
int32_t offset_t_ms = 0;
55-
int32_t offset_n = 0;
56-
int32_t duration_ms = 0;
57-
int32_t progress_step = 5;
58-
int32_t max_context = -1;
59-
int32_t max_len = 0;
60-
int32_t best_of = 2;
61-
int32_t beam_size = -1;
62-
63-
float word_thold = 0.01f;
64-
float entropy_thold = 2.40f;
65-
float logprob_thold = -1.00f;
66-
float userdef_temp = 0.20f;
52+
int32_t n_threads = std::min(4, (int32_t) std::thread::hardware_concurrency());
53+
int32_t n_processors = 1;
54+
int32_t offset_t_ms = 0;
55+
int32_t offset_n = 0;
56+
int32_t duration_ms = 0;
57+
int32_t progress_step = 5;
58+
int32_t max_context = -1;
59+
int32_t max_len = 0;
60+
int32_t best_of = 2;
61+
int32_t beam_size = -1;
62+
63+
float word_thold = 0.01f;
64+
float entropy_thold = 2.40f;
65+
float logprob_thold = -1.00f;
66+
float temperature = 0.00f;
67+
float temperature_inc = 0.20f;
6768

6869
bool speed_up = false;
6970
bool debug_mode = false;
@@ -395,34 +396,37 @@ std::string output_str(struct whisper_context * ctx, const whisper_params & para
395396

396397
void get_req_parameters(const Request & req, whisper_params & params)
397398
{
398-
// user model configu.has_fileion
399-
if (req.has_file("offset-t"))
399+
if (req.has_file("offset_t"))
400400
{
401-
params.offset_t_ms = std::stoi(req.get_file_value("offset-t").content);
401+
params.offset_t_ms = std::stoi(req.get_file_value("offset_t").content);
402402
}
403-
if (req.has_file("offset-n"))
403+
if (req.has_file("offset_n"))
404404
{
405-
params.offset_n = std::stoi(req.get_file_value("offset-n").content);
405+
params.offset_n = std::stoi(req.get_file_value("offset_n").content);
406406
}
407407
if (req.has_file("duration"))
408408
{
409409
params.duration_ms = std::stoi(req.get_file_value("duration").content);
410410
}
411-
if (req.has_file("max-context"))
411+
if (req.has_file("max_context"))
412412
{
413-
params.max_context = std::stoi(req.get_file_value("max-context").content);
413+
params.max_context = std::stoi(req.get_file_value("max_context").content);
414414
}
415415
if (req.has_file("prompt"))
416416
{
417417
params.prompt = req.get_file_value("prompt").content;
418418
}
419-
if (req.has_file("response-format"))
419+
if (req.has_file("response_format"))
420420
{
421-
params.response_format = req.get_file_value("response-format").content;
421+
params.response_format = req.get_file_value("response_format").content;
422422
}
423423
if (req.has_file("temperature"))
424424
{
425-
params.userdef_temp = std::stof(req.get_file_value("temperature").content);
425+
params.temperature = std::stof(req.get_file_value("temperature").content);
426+
}
427+
if (req.has_file("temperature_inc"))
428+
{
429+
params.temperature_inc = std::stof(req.get_file_value("temperature_inc").content);
426430
}
427431
}
428432

@@ -513,7 +517,7 @@ int main(int argc, char ** argv) {
513517
temp_file.close();
514518

515519
// if file is not wav, convert to wav
516-
520+
517521
if (sparams.ffmpeg_converter) {
518522
std::string error_resp = "{\"error\":\"Failed to execute ffmpeg command.\"}";
519523
const bool is_converted = convert_to_wav(temp_filename, error_resp);
@@ -602,7 +606,8 @@ int main(int argc, char ** argv) {
602606
wparams.greedy.best_of = params.best_of;
603607
wparams.beam_search.beam_size = params.beam_size;
604608

605-
wparams.temperature_inc = params.userdef_temp;
609+
wparams.temperature = params.temperature;
610+
wparams.temperature_inc = params.temperature_inc;
606611
wparams.entropy_thold = params.entropy_thold;
607612
wparams.logprob_thold = params.logprob_thold;
608613

0 commit comments

Comments
 (0)