Table of Contents

Class FilterPipelineExtensions

Namespace
LMKit.TextGeneration.Filters
Assembly
LM-Kit.NET.dll

Extension methods for FilterPipeline that enable concise inline filter registration.

public static class FilterPipelineExtensions
Inheritance
FilterPipelineExtensions
Inherited Members

Examples

Adding filters with lambdas:

using LMKit.TextGeneration.Filters;

var pipeline = new FilterPipeline();

// Prompt logging pipeline.AddPromptFilter(async (ctx, next) => { Console.WriteLine($"[Prompt] {ctx.Prompt}"); await next(ctx); Console.WriteLine($"[Done] {ctx.Result?.GeneratedTokenCount} tokens"); });

// Completion telemetry pipeline.AddCompletionFilter(async (ctx, next) => { await next(ctx); Console.WriteLine($"[Quality] {ctx.Result?.QualityScore:F2}"); });

// Tool call logging pipeline.AddToolInvocationFilter(async (ctx, next) => { Console.WriteLine($"[Tool] {ctx.ToolCall.Name}"); await next(ctx); });

Remarks

These methods wrap lambda delegates into the corresponding filter interfaces, allowing you to add filters without creating a dedicated class.

Methods

AddCompletionFilter(FilterPipeline, Func<CompletionFilterContext, Func<CompletionFilterContext, Task>, Task>)

Adds an inline completion filter using a lambda delegate.

AddPromptFilter(FilterPipeline, Func<PromptFilterContext, Func<PromptFilterContext, Task>, Task>)

Adds an inline prompt filter using a lambda delegate.

AddToolInvocationFilter(FilterPipeline, Func<ToolInvocationFilterContext, Func<ToolInvocationFilterContext, Task>, Task>)

Adds an inline tool invocation filter using a lambda delegate.

Share