]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
llama : C++20 compatibility for u8 strings (#8408)
authorBorislav Stanimirov <redacted>
Wed, 10 Jul 2024 11:45:44 +0000 (14:45 +0300)
committerGitHub <redacted>
Wed, 10 Jul 2024 11:45:44 +0000 (14:45 +0300)
src/llama.cpp

index 80cc1da2660e56588ef7d0b1e3582836ccfd43fd..98a242081ca03777b544c0a05da9a96b68e62bc7 100644 (file)
     #include <io.h>
 #endif
 
+#if __cplusplus >= 202000L
+    #define LU8(x) (const char*)(u8##x)
+#else
+    #define LU8(x) u8##x
+#endif
+
 #include <algorithm>
 #include <array>
 #include <cassert>
@@ -21511,12 +21517,12 @@ static int32_t llama_chat_apply_template_internal(
         if (add_ass) {
             ss << "<|assistant|>";
         }
-    } else if (tmpl == "minicpm" || tmpl_contains(u8"<用户>")) {
+    } else if (tmpl == "minicpm" || tmpl_contains(LU8("<用户>"))) {
         // MiniCPM-3B-OpenHermes-2.5-v2-GGUF
         for (auto message : chat) {
             std::string role(message->role);
             if (role == "user") {
-                ss << u8"<用户>";
+                ss << LU8("<用户>");
                 ss << trim(message->content);
                 ss << "<AI>";
             } else {
@@ -21532,7 +21538,7 @@ static int32_t llama_chat_apply_template_internal(
             } else if (role == "user") {
                 ss << "User: " << message->content << "\n\n";
             } else if (role == "assistant") {
-                ss << "Assistant: " << message->content << u8"<|end▁of▁sentence|>";
+                ss << "Assistant: " << message->content << LU8("<|end▁of▁sentence|>");
             }
         }
         if (add_ass) {