diff options
author | Kawrakow <48489457+ikawrakow@users.noreply.github.com> | 2024-09-02 09:18:48 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-02 09:18:48 +0300 |
commit | 5518e24be82b278506154a1a1bf871d10e47821e (patch) | |
tree | 96f43ba5d235b97a50819a5fafe2c02275b94aed /common/common.cpp | |
parent | dc023bc3be1a7ac42d1030f86c4d77563a019286 (diff) |
Do not process prompts containing binary data for escapes (#33)
Co-authored-by: Iwan Kawrakow <iwan.kawrakow@gmail.com>
Diffstat (limited to 'common/common.cpp')
-rw-r--r-- | common/common.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/common/common.cpp b/common/common.cpp index 3b45d066..c86d364f 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -250,7 +250,9 @@ bool gpt_params_parse_ex(int argc, char ** argv, gpt_params & params) { gpt_params_handle_hf_token(params); if (params.escape) { - string_process_escapes(params.prompt); + if (!params.prompt_is_binary) { + string_process_escapes(params.prompt); + } string_process_escapes(params.input_prefix); string_process_escapes(params.input_suffix); string_process_escapes(sparams.cfg_negative_prompt); @@ -334,6 +336,7 @@ bool gpt_params_find_arg(int argc, char ** argv, const std::string & arg, gpt_pa if (arg == "-p" || arg == "--prompt") { CHECK_ARG params.prompt = argv[i]; + params.prompt_is_binary = false; return true; } if (arg == "-e" || arg == "--escape") { @@ -371,6 +374,7 @@ bool gpt_params_find_arg(int argc, char ** argv, const std::string & arg, gpt_pa ss << file.rdbuf(); params.prompt = ss.str(); fprintf(stderr, "Read %zu bytes from binary file %s\n", params.prompt.size(), argv[i]); + params.prompt_is_binary = true; return true; } if (arg == "-f" || arg == "--file") { @@ -387,6 +391,7 @@ bool gpt_params_find_arg(int argc, char ** argv, const std::string & arg, gpt_pa if (!params.prompt.empty() && params.prompt.back() == '\n') { params.prompt.pop_back(); } + params.prompt_is_binary = false; return true; } if (arg == "--in-file") { |