using Microsoft.KernelMemory; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LLamaSharp.KernelMemory { /// /// Provides extension methods for the MemoryClientBuilder class. /// public static class BuilderExtensions { /// /// Adds LLamaSharpTextEmbeddingGeneration to the MemoryClientBuilder. /// /// The MemoryClientBuilder instance. /// The LLamaSharpConfig instance. /// The MemoryClientBuilder instance with LLamaSharpTextEmbeddingGeneration added. public static KernelMemoryBuilder WithLLamaSharpTextEmbeddingGeneration(this KernelMemoryBuilder builder, LLamaSharpConfig config) { builder.WithCustomEmbeddingGeneration(new LLamaSharpTextEmbeddingGeneration(config)); return builder; } /// /// Adds LLamaSharpTextGeneration to the MemoryClientBuilder. /// /// The MemoryClientBuilder instance. /// The LLamaSharpConfig instance. /// The MemoryClientBuilder instance with LLamaSharpTextGeneration added. public static KernelMemoryBuilder WithLLamaSharpTextGeneration(this KernelMemoryBuilder builder, LLamaSharpConfig config) { builder.WithCustomTextGeneration(new LlamaSharpTextGeneration(config)); return builder; } /// /// Adds LLamaSharpTextEmbeddingGeneration and LLamaSharpTextGeneration to the MemoryClientBuilder. /// /// The MemoryClientBuilder instance. /// The LLamaSharpConfig instance. /// The MemoryClientBuilder instance with LLamaSharpTextEmbeddingGeneration and LLamaSharpTextGeneration added. public static KernelMemoryBuilder WithLLamaSharpDefaults(this KernelMemoryBuilder builder, LLamaSharpConfig config) { builder.WithLLamaSharpTextEmbeddingGeneration(config); builder.WithLLamaSharpTextGeneration(config); return builder; } } }