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.