Jelajahi Sumber

Respect the maximum number of tokens in interactive. (#298)

Co-authored-by: Johnman <johnman@github>
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
tjohnman 2 tahun lalu
induk
melakukan
368d0c8a9e
1 mengubah file dengan 6 tambahan dan 1 penghapusan
  1. 6 1
      main.cpp

+ 6 - 1
main.cpp

@@ -1062,7 +1062,6 @@ int main(int argc, char ** argv) {
         }
         }
 
 
         // end of text token
         // end of text token
-
         if (embd.back() == EOS_TOKEN_ID) {
         if (embd.back() == EOS_TOKEN_ID) {
             if (params.interactive) {
             if (params.interactive) {
                 is_interacting = true;
                 is_interacting = true;
@@ -1071,6 +1070,12 @@ int main(int argc, char ** argv) {
                 break;
                 break;
             }
             }
         }
         }
+
+        // In interactive mode, respect the maximum number of tokens and drop back to user input when reached.
+        if (params.interactive && remaining_tokens <= 0) {
+            remaining_tokens = params.n_predict;
+            is_interacting = true;
+        }
     }
     }
 
 
 #if defined (_WIN32)
 #if defined (_WIN32)