From 91e5a3f543541b49c3ae15100211c2b0a34b21b3 Mon Sep 17 00:00:00 2001 From: Zoli Somogyi Date: Thu, 28 Mar 2024 21:30:14 +0100 Subject: [PATCH] Code optimization --- LLama.KernelMemory/BuilderExtensions.cs | 37 ++++++------------------- 1 file changed, 9 insertions(+), 28 deletions(-) diff --git a/LLama.KernelMemory/BuilderExtensions.cs b/LLama.KernelMemory/BuilderExtensions.cs index 3f50f22a..474cf8be 100644 --- a/LLama.KernelMemory/BuilderExtensions.cs +++ b/LLama.KernelMemory/BuilderExtensions.cs @@ -74,36 +74,10 @@ namespace LLamaSharp.KernelMemory /// /// The KernelMemoryBuilder instance. /// The LLamaSharpConfig instance. - /// The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration and LLamaSharpTextGeneration added. - public static IKernelMemoryBuilder WithLLamaSharpDefaults(this IKernelMemoryBuilder builder, LLamaSharpConfig config) - { - var parameters = new ModelParams(config.ModelPath) - { - ContextSize = config?.ContextSize ?? 2048, - Seed = config?.Seed ?? 0, - GpuLayerCount = config?.GpuLayerCount ?? 20, - EmbeddingMode = true, - MainGpu = config?.MainGpu ?? 0, - SplitMode = config?.SplitMode ?? GPUSplitMode.None - }; - var weights = LLamaWeights.LoadFromFile(parameters); - var context = weights.CreateContext(parameters); - var executor = new StatelessExecutor(weights, parameters); - var embedder = new LLamaEmbedder(weights, parameters); - builder.WithLLamaSharpTextEmbeddingGeneration(new LLamaSharpTextEmbeddingGenerator(embedder)); - builder.WithLLamaSharpTextGeneration(new LlamaSharpTextGenerator(weights, context, executor, config?.DefaultInferenceParams)); - return builder; - } - - /// - /// Adds LLamaSharpTextEmbeddingGeneration and LLamaSharpTextGeneration to the KernelMemoryBuilder. Using an already loaded model. - /// - /// The KernelMemoryBuilder instance. /// - /// - /// The LLamaSharpConfig instance. + /// /// The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration and LLamaSharpTextGeneration added. - public static IKernelMemoryBuilder WithLLamaSharpDefaults(this IKernelMemoryBuilder builder, LLamaWeights weights, LLamaContext context, LLamaSharpConfig config) + public static IKernelMemoryBuilder WithLLamaSharpDefaults(this IKernelMemoryBuilder builder, LLamaSharpConfig config, LLamaWeights? weights=null, LLamaContext? context=null) { var parameters = new ModelParams(config.ModelPath) { @@ -114,6 +88,13 @@ namespace LLamaSharp.KernelMemory MainGpu = config?.MainGpu ?? 0, SplitMode = config?.SplitMode ?? GPUSplitMode.None, }; + + if (weights == null) + { + weights = LLamaWeights.LoadFromFile(parameters); + context = weights.CreateContext(parameters); + } + var executor = new StatelessExecutor(weights, parameters); var embedder = new LLamaEmbedder(weights, parameters); builder.WithLLamaSharpTextEmbeddingGeneration(new LLamaSharpTextEmbeddingGenerator(embedder));