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 KernelMemoryBuilder class.
///
public static class BuilderExtensions
{
///
/// Adds LLamaSharpTextEmbeddingGeneration to the KernelMemoryBuilder.
///
/// The KernelMemoryBuilder instance.
/// The LLamaSharpConfig instance.
/// The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration added.
public static KernelMemoryBuilder WithLLamaSharpTextEmbeddingGeneration(this KernelMemoryBuilder builder, LLamaSharpConfig config)
{
builder.WithCustomEmbeddingGeneration(new LLamaSharpTextEmbeddingGeneration(config));
return builder;
}
///
/// Adds LLamaSharpTextGeneration to the KernelMemoryBuilder.
///
/// The KernelMemoryBuilder instance.
/// The LLamaSharpConfig instance.
/// The KernelMemoryBuilder 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 KernelMemoryBuilder.
///
/// The KernelMemoryBuilder instance.
/// The LLamaSharpConfig instance.
/// The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration and LLamaSharpTextGeneration added.
public static KernelMemoryBuilder WithLLamaSharpDefaults(this KernelMemoryBuilder builder, LLamaSharpConfig config)
{
builder.WithLLamaSharpTextEmbeddingGeneration(config);
builder.WithLLamaSharpTextGeneration(config);
return builder;
}
}
}