From 5fb96255dcaea27b70ac7cc86311503fa506a5bf Mon Sep 17 00:00:00 2001 From: Jeffrey Morgan Date: Sun, 9 Jul 2023 10:25:07 -0400 Subject: [PATCH] llama: remove unused helper functions --- llama/llama.go | 4 +- llama/options.go | 277 ----------------------------------------------- 2 files changed, 1 insertion(+), 280 deletions(-) diff --git a/llama/llama.go b/llama/llama.go index ea315ef6..efa5c0d9 100644 --- a/llama/llama.go +++ b/llama/llama.go @@ -60,9 +60,7 @@ func (l *LLama) Free() { C.llama_binding_free_model(l.ctx) } -func (l *LLama) Eval(text string, opts ...PredictOption) error { - po := NewPredictOptions(opts...) - +func (l *LLama) Eval(text string, po PredictOptions) error { input := C.CString(text) if po.Tokens == 0 { po.Tokens = 99999999 diff --git a/llama/options.go b/llama/options.go index ca589cc3..92a9216b 100644 --- a/llama/options.go +++ b/llama/options.go @@ -96,280 +96,3 @@ var DefaultOptions PredictOptions = PredictOptions{ MirostatETA: 0.1, MMap: true, } - -// SetContext sets the context size. -func SetContext(c int) ModelOption { - return func(p *ModelOptions) { - p.ContextSize = c - } -} - -func SetModelSeed(c int) ModelOption { - return func(p *ModelOptions) { - p.Seed = c - } -} - -// SetContext sets the context size. -func SetMMap(b bool) ModelOption { - return func(p *ModelOptions) { - p.MMap = b - } -} - -// SetNBatch sets the n_Batch -func SetNBatch(n_batch int) ModelOption { - return func(p *ModelOptions) { - p.NBatch = n_batch - } -} - -// Set sets the tensor split for the GPU -func SetTensorSplit(maingpu string) ModelOption { - return func(p *ModelOptions) { - p.TensorSplit = maingpu - } -} - -// SetMainGPU sets the main_gpu -func SetMainGPU(maingpu string) ModelOption { - return func(p *ModelOptions) { - p.MainGPU = maingpu - } -} - -// SetPredictionTensorSplit sets the tensor split for the GPU -func SetPredictionTensorSplit(maingpu string) PredictOption { - return func(p *PredictOptions) { - p.TensorSplit = maingpu - } -} - -// SetPredictionMainGPU sets the main_gpu -func SetPredictionMainGPU(maingpu string) PredictOption { - return func(p *PredictOptions) { - p.MainGPU = maingpu - } -} - -var VocabOnly ModelOption = func(p *ModelOptions) { - p.VocabOnly = true -} - -var EnabelLowVRAM ModelOption = func(p *ModelOptions) { - p.LowVRAM = true -} - -var EnableNUMA ModelOption = func(p *ModelOptions) { - p.NUMA = true -} - -var EnableEmbeddings ModelOption = func(p *ModelOptions) { - p.Embeddings = true -} - -var EnableF16Memory ModelOption = func(p *ModelOptions) { - p.F16Memory = true -} - -var EnableF16KV PredictOption = func(p *PredictOptions) { - p.F16KV = true -} - -var Debug PredictOption = func(p *PredictOptions) { - p.DebugMode = true -} - -var EnableMLock ModelOption = func(p *ModelOptions) { - p.MLock = true -} - -// Create a new PredictOptions object with the given options. -func NewModelOptions(opts ...ModelOption) ModelOptions { - p := DefaultModelOptions - for _, opt := range opts { - opt(&p) - } - return p -} - -var IgnoreEOS PredictOption = func(p *PredictOptions) { - p.IgnoreEOS = true -} - -// SetMlock sets the memory lock. -func SetMlock(b bool) PredictOption { - return func(p *PredictOptions) { - p.MLock = b - } -} - -// SetMemoryMap sets memory mapping. -func SetMemoryMap(b bool) PredictOption { - return func(p *PredictOptions) { - p.MMap = b - } -} - -// SetGPULayers sets the number of GPU layers to use to offload computation -func SetGPULayers(n int) ModelOption { - return func(p *ModelOptions) { - p.NGPULayers = n - } -} - -// SetTokenCallback sets the prompts that will stop predictions. -func SetTokenCallback(fn func(string) bool) PredictOption { - return func(p *PredictOptions) { - p.TokenCallback = fn - } -} - -// SetStopWords sets the prompts that will stop predictions. -func SetStopWords(stop ...string) PredictOption { - return func(p *PredictOptions) { - p.StopPrompts = stop - } -} - -// SetSeed sets the random seed for sampling text generation. -func SetSeed(seed int) PredictOption { - return func(p *PredictOptions) { - p.Seed = seed - } -} - -// SetThreads sets the number of threads to use for text generation. -func SetThreads(threads int) PredictOption { - return func(p *PredictOptions) { - p.Threads = threads - } -} - -// SetTokens sets the number of tokens to generate. -func SetTokens(tokens int) PredictOption { - return func(p *PredictOptions) { - p.Tokens = tokens - } -} - -// SetTopK sets the value for top-K sampling. -func SetTopK(topk int) PredictOption { - return func(p *PredictOptions) { - p.TopK = topk - } -} - -// SetTopP sets the value for nucleus sampling. -func SetTopP(topp float64) PredictOption { - return func(p *PredictOptions) { - p.TopP = topp - } -} - -// SetTemperature sets the temperature value for text generation. -func SetTemperature(temp float64) PredictOption { - return func(p *PredictOptions) { - p.Temperature = temp - } -} - -// SetPenalty sets the repetition penalty for text generation. -func SetPenalty(penalty float64) PredictOption { - return func(p *PredictOptions) { - p.Penalty = penalty - } -} - -// SetRepeat sets the number of times to repeat text generation. -func SetRepeat(repeat int) PredictOption { - return func(p *PredictOptions) { - p.Repeat = repeat - } -} - -// SetBatch sets the batch size. -func SetBatch(size int) PredictOption { - return func(p *PredictOptions) { - p.Batch = size - } -} - -// SetKeep sets the number of tokens from initial prompt to keep. -func SetNKeep(n int) PredictOption { - return func(p *PredictOptions) { - p.NKeep = n - } -} - -// Create a new PredictOptions object with the given options. -func NewPredictOptions(opts ...PredictOption) PredictOptions { - p := DefaultOptions - for _, opt := range opts { - opt(&p) - } - return p -} - -// SetTailFreeSamplingZ sets the tail free sampling, parameter z. -func SetTailFreeSamplingZ(tfz float64) PredictOption { - return func(p *PredictOptions) { - p.TailFreeSamplingZ = tfz - } -} - -// SetTypicalP sets the typicality parameter, p_typical. -func SetTypicalP(tp float64) PredictOption { - return func(p *PredictOptions) { - p.TypicalP = tp - } -} - -// SetFrequencyPenalty sets the frequency penalty parameter, freq_penalty. -func SetFrequencyPenalty(fp float64) PredictOption { - return func(p *PredictOptions) { - p.FrequencyPenalty = fp - } -} - -// SetPresencePenalty sets the presence penalty parameter, presence_penalty. -func SetPresencePenalty(pp float64) PredictOption { - return func(p *PredictOptions) { - p.PresencePenalty = pp - } -} - -// SetMirostat sets the mirostat parameter. -func SetMirostat(m int) PredictOption { - return func(p *PredictOptions) { - p.Mirostat = m - } -} - -// SetMirostatETA sets the mirostat ETA parameter. -func SetMirostatETA(me float64) PredictOption { - return func(p *PredictOptions) { - p.MirostatETA = me - } -} - -// SetMirostatTAU sets the mirostat TAU parameter. -func SetMirostatTAU(mt float64) PredictOption { - return func(p *PredictOptions) { - p.MirostatTAU = mt - } -} - -// SetPenalizeNL sets whether to penalize newlines or not. -func SetPenalizeNL(pnl bool) PredictOption { - return func(p *PredictOptions) { - p.PenalizeNL = pnl - } -} - -// SetLogitBias sets the logit bias parameter. -func SetLogitBias(lb string) PredictOption { - return func(p *PredictOptions) { - p.LogitBias = lb - } -}