|
|
@@ -7,6 +7,7 @@ using System.Threading.Tasks; |
|
|
using LLama; |
|
|
using LLama; |
|
|
using LLama.Common; |
|
|
using LLama.Common; |
|
|
using Microsoft.KernelMemory.AI; |
|
|
using Microsoft.KernelMemory.AI; |
|
|
|
|
|
using Microsoft.SemanticKernel.AI.Embeddings; |
|
|
|
|
|
|
|
|
namespace LLamaSharp.KernelMemory |
|
|
namespace LLamaSharp.KernelMemory |
|
|
{ |
|
|
{ |
|
|
@@ -15,13 +16,27 @@ namespace LLamaSharp.KernelMemory |
|
|
/// </summary> |
|
|
/// </summary> |
|
|
public static class BuilderExtensions |
|
|
public static class BuilderExtensions |
|
|
{ |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
private static IKernelMemoryBuilder WithCustomEmbeddingGeneration(this IKernelMemoryBuilder builder, ITextEmbeddingGeneration embeddingGeneration) |
|
|
|
|
|
{ |
|
|
|
|
|
builder.AddSingleton<ITextEmbeddingGeneration>(embeddingGeneration); |
|
|
|
|
|
builder.AddIngestionEmbeddingGenerator(embeddingGeneration); |
|
|
|
|
|
return builder; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static IKernelMemoryBuilder WithCustomTextGeneration(this IKernelMemoryBuilder builder, ITextGeneration textGeneration) |
|
|
|
|
|
{ |
|
|
|
|
|
builder.AddSingleton<ITextGeneration>(textGeneration); |
|
|
|
|
|
return builder; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/// <summary> |
|
|
/// <summary> |
|
|
/// Adds LLamaSharpTextEmbeddingGeneration to the KernelMemoryBuilder. |
|
|
/// Adds LLamaSharpTextEmbeddingGeneration to the KernelMemoryBuilder. |
|
|
/// </summary> |
|
|
/// </summary> |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="config">The LLamaSharpConfig instance.</param> |
|
|
/// <param name="config">The LLamaSharpConfig instance.</param> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration added.</returns> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration added.</returns> |
|
|
public static KernelMemoryBuilder WithLLamaSharpTextEmbeddingGeneration(this KernelMemoryBuilder builder, LLamaSharpConfig config) |
|
|
|
|
|
|
|
|
public static IKernelMemoryBuilder WithLLamaSharpTextEmbeddingGeneration(this IKernelMemoryBuilder builder, LLamaSharpConfig config) |
|
|
{ |
|
|
{ |
|
|
builder.WithCustomEmbeddingGeneration(new LLamaSharpTextEmbeddingGeneration(config)); |
|
|
builder.WithCustomEmbeddingGeneration(new LLamaSharpTextEmbeddingGeneration(config)); |
|
|
return builder; |
|
|
return builder; |
|
|
@@ -33,7 +48,7 @@ namespace LLamaSharp.KernelMemory |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="textEmbeddingGeneration">The LLamaSharpTextEmbeddingGeneration instance.</param> |
|
|
/// <param name="textEmbeddingGeneration">The LLamaSharpTextEmbeddingGeneration instance.</param> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration added.</returns> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration added.</returns> |
|
|
public static KernelMemoryBuilder WithLLamaSharpTextEmbeddingGeneration(this KernelMemoryBuilder builder, LLamaSharpTextEmbeddingGeneration textEmbeddingGeneration) |
|
|
|
|
|
|
|
|
public static IKernelMemoryBuilder WithLLamaSharpTextEmbeddingGeneration(this IKernelMemoryBuilder builder, LLamaSharpTextEmbeddingGeneration textEmbeddingGeneration) |
|
|
{ |
|
|
{ |
|
|
builder.WithCustomEmbeddingGeneration(textEmbeddingGeneration); |
|
|
builder.WithCustomEmbeddingGeneration(textEmbeddingGeneration); |
|
|
return builder; |
|
|
return builder; |
|
|
@@ -45,7 +60,7 @@ namespace LLamaSharp.KernelMemory |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="config">The LLamaSharpConfig instance.</param> |
|
|
/// <param name="config">The LLamaSharpConfig instance.</param> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextGeneration added.</returns> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextGeneration added.</returns> |
|
|
public static KernelMemoryBuilder WithLLamaSharpTextGeneration(this KernelMemoryBuilder builder, LLamaSharpConfig config) |
|
|
|
|
|
|
|
|
public static IKernelMemoryBuilder WithLLamaSharpTextGeneration(this IKernelMemoryBuilder builder, LLamaSharpConfig config) |
|
|
{ |
|
|
{ |
|
|
builder.WithCustomTextGeneration(new LlamaSharpTextGeneration(config)); |
|
|
builder.WithCustomTextGeneration(new LlamaSharpTextGeneration(config)); |
|
|
return builder; |
|
|
return builder; |
|
|
@@ -57,7 +72,7 @@ namespace LLamaSharp.KernelMemory |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="textGeneration">The LlamaSharpTextGeneration instance.</param> |
|
|
/// <param name="textGeneration">The LlamaSharpTextGeneration instance.</param> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextGeneration added.</returns> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextGeneration added.</returns> |
|
|
public static KernelMemoryBuilder WithLLamaSharpTextGeneration(this KernelMemoryBuilder builder, LlamaSharpTextGeneration textGeneration) |
|
|
|
|
|
|
|
|
public static IKernelMemoryBuilder WithLLamaSharpTextGeneration(this IKernelMemoryBuilder builder, LlamaSharpTextGeneration textGeneration) |
|
|
{ |
|
|
{ |
|
|
builder.WithCustomTextGeneration(textGeneration); |
|
|
builder.WithCustomTextGeneration(textGeneration); |
|
|
return builder; |
|
|
return builder; |
|
|
@@ -69,7 +84,7 @@ namespace LLamaSharp.KernelMemory |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="builder">The KernelMemoryBuilder instance.</param> |
|
|
/// <param name="config">The LLamaSharpConfig instance.</param> |
|
|
/// <param name="config">The LLamaSharpConfig instance.</param> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration and LLamaSharpTextGeneration added.</returns> |
|
|
/// <returns>The KernelMemoryBuilder instance with LLamaSharpTextEmbeddingGeneration and LLamaSharpTextGeneration added.</returns> |
|
|
public static KernelMemoryBuilder WithLLamaSharpDefaults(this KernelMemoryBuilder builder, LLamaSharpConfig config) |
|
|
|
|
|
|
|
|
public static IKernelMemoryBuilder WithLLamaSharpDefaults(this IKernelMemoryBuilder builder, LLamaSharpConfig config) |
|
|
{ |
|
|
{ |
|
|
var parameters = new ModelParams(config.ModelPath) |
|
|
var parameters = new ModelParams(config.ModelPath) |
|
|
{ |
|
|
{ |
|
|
|