diff options
author | Dean <Dean.Sinaean@gmail.com> | 2024-03-11 04:03:17 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-10 22:03:17 +0200 |
commit | 7ab7b733bb48250b2df26c12b00256ef42c76932 (patch) | |
tree | 2b5596009f19da27436565c20c1fb155389ccb67 /examples/llama.android/app/src/main/java/com | |
parent | d9f65c97c3dc3aa6fa27470b8c6e69b437ec1a27 (diff) |
android : fix utf8 decoding error (#5935)
* examples: fix utf8 decoding error
some models have a tokenizer that decodes an id into an incomplete utf8 sequence, need to validate and wait for next token
one example would be: https://huggingface.co/Qwen/Qwen1.5-1.8B-Chat-GGUF/resolve/main/qwen1_5-1_8b-chat-q4_0.gguf and and an example of the token is 18137
* android : minor
---------
Co-authored-by: zhangfuwen <zhangfuwen@foxmail.com>
Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
Diffstat (limited to 'examples/llama.android/app/src/main/java/com')
-rw-r--r-- | examples/llama.android/app/src/main/java/com/example/llama/Llm.kt | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/examples/llama.android/app/src/main/java/com/example/llama/Llm.kt b/examples/llama.android/app/src/main/java/com/example/llama/Llm.kt index 5f327037..d86afee3 100644 --- a/examples/llama.android/app/src/main/java/com/example/llama/Llm.kt +++ b/examples/llama.android/app/src/main/java/com/example/llama/Llm.kt @@ -71,7 +71,7 @@ class Llm { batch: Long, nLen: Int, ncur: IntVar - ): String + ): String? private external fun kv_cache_clear(context: Long) @@ -115,7 +115,7 @@ class Llm { val ncur = IntVar(completion_init(state.context, state.batch, message, nlen)) while (ncur.value <= nlen) { val str = completion_loop(state.context, state.batch, nlen, ncur) - if (str.isEmpty()) { + if (str == null) { break } emit(str) |