From b71c67b6ba971ce8b09af8e69b4a0d328cd76b4d Mon Sep 17 00:00:00 2001 From: Michael Yang Date: Fri, 21 Jul 2023 23:05:15 -0700 Subject: [PATCH] allocate a large enough tokens slice --- llama/llama.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llama/llama.go b/llama/llama.go index a3458a24..35cb5e09 100644 --- a/llama/llama.go +++ b/llama/llama.go @@ -168,7 +168,7 @@ func (llm *llama) tokenize(prompt string) []C.llama_token { cPrompt := C.CString(prompt) defer C.free(unsafe.Pointer(cPrompt)) - tokens := make([]C.llama_token, llm.NumCtx) + tokens := make([]C.llama_token, len(prompt)+1) if n := C.llama_tokenize(llm.ctx, cPrompt, unsafe.SliceData(tokens), C.int(len(tokens)), true); n > 0 { return tokens[:n] }