* fix continuing generating blank lines after getting EOT token or EOS token from LLM
* change variable name to is_done (variable name suggested by ggerganov)
* minor : fix trailing whitespace
* minor : add space
---------
Co-authored-by: Georgi Gerganov <redacted>
private var context: OpaquePointer
private var batch: llama_batch
private var tokens_list: [llama_token]
+ var is_done: Bool = false
/// This variable is used to store temporarily invalid cchars
private var temporary_invalid_cchars: [CChar]
- var n_len: Int32 = 64
+ var n_len: Int32 = 1024
var n_cur: Int32 = 0
var n_decode: Int32 = 0
if llama_token_is_eog(model, new_token_id) || n_cur == n_len {
print("\n")
+ is_done = true
let new_token_str = String(cString: temporary_invalid_cchars + [0])
temporary_invalid_cchars.removeAll()
return new_token_str
messageLog += "\(text)"
Task.detached {
- while await llamaContext.n_cur < llamaContext.n_len {
+ while await !llamaContext.is_done {
let result = await llamaContext.completion_loop()
await MainActor.run {
self.messageLog += "\(result)"