diff options
author | Dr. Tom Murphy VII Ph.D <499244+tom7@users.noreply.github.com> | 2023-08-26 14:12:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-26 21:12:56 +0300 |
commit | 72f895c923ba98b8f2af294440206f35915c0501 (patch) | |
tree | 3078543299147a4dc9d473f22236802bd4fdfd0a | |
parent | 50526f37eba0b28336700890242ff282b949cd83 (diff) |
main : fix bug (penalize_nl=false doesn't work) + suppress warning on mingw (#1528)
* Fix bug in main.cpp where penalize_nl=false has no effect. It modifies the underlying logits array, but at this point we are already working on the candidates copy.
* Suppress redefinition warning for NOMINMAX on mingw. In my installation, this macro is already defined by /usr/lib/gcc/x86_64-w64-mingw32/11/include/c++/x86_64-w64-mingw32/bits/os_defines.h:45.
* main : fix indentation
* main : pass ctx to llama_token_nl()
---------
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
-rw-r--r-- | examples/main/main.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/examples/main/main.cpp b/examples/main/main.cpp index 4665b82f..11d7a7e4 100644 --- a/examples/main/main.cpp +++ b/examples/main/main.cpp @@ -604,7 +604,12 @@ int main(int argc, char ** argv) { last_n_tokens.data() + last_n_tokens.size() - last_n_repeat, last_n_repeat, alpha_frequency, alpha_presence); if (!penalize_nl) { - logits[llama_token_nl(ctx)] = nl_logit; + for (size_t idx = 0; idx < candidates_p.size; idx++) { + if (candidates_p.data[idx].id == llama_token_nl(ctx)) { + candidates_p.data[idx].logit = nl_logit; + break; + } + } } if (grammar != NULL) { |