Explorar o código

llama : fix `--reverse-prompt` crashing issue (#14794)

Signed-off-by: Molly Sophia <mollysophia379@gmail.com>
Molly Sophia hai 6 meses
pai
achega
c82d48ec23
Modificáronse 1 ficheiros con 10 adicións e 7 borrados
  1. 10 7
      tools/main/main.cpp

+ 10 - 7
tools/main/main.cpp

@@ -785,14 +785,17 @@ int main(int argc, char ** argv) {
                 }
 
                 // check for reverse prompt using special tokens
-                llama_token last_token = common_sampler_last(smpl);
-                for (auto token : antiprompt_token) {
-                    if (token == last_token) {
-                        if (params.interactive) {
-                            is_interacting = true;
+                // avoid calling common_sampler_last() if last_output is empty
+                if (!last_output.empty()) {
+                    llama_token last_token = common_sampler_last(smpl);
+                    for (auto token : antiprompt_token) {
+                        if (token == last_token) {
+                            if (params.interactive) {
+                                is_interacting = true;
+                            }
+                            is_antiprompt = true;
+                            break;
                         }
-                        is_antiprompt = true;
-                        break;
                     }
                 }