]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
main : fix bug (penalize_nl=false doesn't work) + suppress warning on mingw (#1528)
authorDr. Tom Murphy VII Ph.D <redacted>
Sat, 26 Aug 2023 18:12:56 +0000 (14:12 -0400)
committerGitHub <redacted>
Sat, 26 Aug 2023 18:12:56 +0000 (21:12 +0300)
* 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 <redacted>
examples/main/main.cpp

index 4665b82fe7f97f654e3e86200a5c8907ce35a4c6..11d7a7e4f4fe1a0853f66afb44d105a830af2af0 100644 (file)
@@ -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) {