Преглед на файлове

allocate a large enough tokens slice

Michael Yang преди 1 година
родител
ревизия
b71c67b6ba
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  1. 1 1
      llama/llama.go

+ 1 - 1
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]
 	}