]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
If n_predict == -1, generate forever
authorGeorgi Gerganov <redacted>
Sat, 25 Mar 2023 19:51:41 +0000 (21:51 +0200)
committerGeorgi Gerganov <redacted>
Sat, 25 Mar 2023 19:51:41 +0000 (21:51 +0200)
examples/chat.sh
examples/common.cpp
examples/main/main.cpp

index 97973d0563ad99570db0177c67189fac8b0db529..9a928ef05431a847efa476433b19d24ca88c15ca 100755 (executable)
@@ -11,6 +11,6 @@ cd ..
 #
 #   "--keep 48" is based on the contents of prompts/chat-with-bob.txt
 #
-./main -m ./models/7B/ggml-model-q4_0.bin -c 2048 -b 1024 -n 256 --keep 48 \
+./main -m ./models/7B/ggml-model-q4_0.bin -c 512 -b 1024 -n 256 --keep 48 \
     --repeat_penalty 1.0 --color -i \
     -r "User:" -f prompts/chat-with-bob.txt
index 866a6b063b1f406b977ecc3f648f244d805c01c2..2ab000f4fdc9d6f4c08b29224248fbdedef26434 100644 (file)
@@ -204,7 +204,7 @@ void gpt_print_usage(int /*argc*/, char ** argv, const gpt_params & params) {
     fprintf(stderr, "  --in-prefix STRING    string to prefix user inputs with (default: empty)\n");
     fprintf(stderr, "  -f FNAME, --file FNAME\n");
     fprintf(stderr, "                        prompt file to start generation.\n");
-    fprintf(stderr, "  -n N, --n_predict N   number of tokens to predict (default: %d)\n", params.n_predict);
+    fprintf(stderr, "  -n N, --n_predict N   number of tokens to predict (default: %d, -1 - infinity)\n", params.n_predict);
     fprintf(stderr, "  --top_k N             top-k sampling (default: %d)\n", params.top_k);
     fprintf(stderr, "  --top_p N             top-p sampling (default: %.1f)\n", params.top_p);
     fprintf(stderr, "  --repeat_last_n N     last n tokens to consider for penalize (default: %d)\n", params.repeat_last_n);
index f78936d45dcbdedc3c75d6934d45fbd7865a4d61..a453743a5b5cd812240bbb8c6e590d0343a343c6 100644 (file)
@@ -199,7 +199,6 @@ int main(int argc, char ** argv) {
     }
 
     params.n_keep    = std::min(params.n_keep,    (int) embd_inp.size());
-    //params.n_predict = std::min(params.n_predict, n_ctx - (int) embd_inp.size());
 
     // prefix & suffix for instruct mode
     const auto inp_pfx = ::llama_tokenize(ctx, "\n\n### Instruction:\n\n", true);
@@ -293,7 +292,7 @@ int main(int argc, char ** argv) {
 
     std::vector<llama_token> embd;
 
-    while (n_remain > 0 || params.interactive) {
+    while (n_remain != 0 || params.interactive) {
         // predict
         if (embd.size() > 0) {
             // infinite text generation via context swapping