Serina.Semantic.Ai.Pipelines
1.0.0
dotnet add package Serina.Semantic.Ai.Pipelines --version 1.0.0
NuGet\Install-Package Serina.Semantic.Ai.Pipelines -Version 1.0.0
<PackageReference Include="Serina.Semantic.Ai.Pipelines" Version="1.0.0" />
<PackageVersion Include="Serina.Semantic.Ai.Pipelines" Version="1.0.0" />
<PackageReference Include="Serina.Semantic.Ai.Pipelines" />
paket add Serina.Semantic.Ai.Pipelines --version 1.0.0
#r "nuget: Serina.Semantic.Ai.Pipelines, 1.0.0"
#addin nuget:?package=Serina.Semantic.Ai.Pipelines&version=1.0.0
#tool nuget:?package=Serina.Semantic.Ai.Pipelines&version=1.0.0
Semantic Kernel Pipeline NuGet Package
Overview
The Semantic Kernel Pipeline is a .NET 8 NuGet package that enables flexible AI-driven workflows. It supports memory plugins, service selection, streaming responses, history reducers, and summarizers, making it an ideal solution for conversational AI, intelligent data retrieval, and custom AI workflows.
Features
- AI Pipeline Creation – Define custom AI processing steps.
- Memory Plugins – Store and retrieve historical data.
- Service Selection – Use multiple AI services with dynamic selection.
- Streaming Support – Process responses as a stream.
- History Reducers & Summarizers – Efficiently manage conversation history.
- Media Processing – Handle text, images, and other inputs.
- Extensible Plugins – Add custom plugins for specialized tasks.
Installation
Install the package via NuGet:
Install-Package SemanticKernel.Pipeline
Or add it to your .csproj
file:
<PackageReference Include="SemanticKernel.Pipeline" Version="1.0.0" />
Quick Start
1. Create a Pipeline
var pipeline = new PipelineBuilder()
.AddStep(new SimpleChatStep())
.AddStep(new HistoryReducer())
.AddStep(new Summarizer())
.Build();
2. Process a Request
var result = await pipeline.ProcessAsync("Tell me a joke");
Console.WriteLine(result);
3. Streaming Responses
await foreach (var chunk in pipeline.ProcessStreamAsync("Generate a story"))
{
Console.Write(chunk);
}
4. Using a Custom Plugin
public class CustomPlugin : IPipelinePlugin
{
public async Task<string> ExecuteAsync(string input)
{
return $"Processed: {input}";
}
}
var pipeline = new PipelineBuilder()
.AddStep(new CustomPlugin())
.Build();
Advanced Usage
Service Selection
Use RandomServiceSelector to dynamically pick AI models:
var selector = new RandomServiceSelector(["gpt-4", "claude-3"]);
var pipeline = new PipelineBuilder()
.UseServiceSelector(selector)
.AddStep(new SimpleChatStep())
.Build();
Memory Integration
Store conversation history and recall past interactions:
var memory = new InMemoryStorage();
var pipeline = new PipelineBuilder()
.UseMemory(memory)
.AddStep(new HistoryReducer())
.Build();
Summarization & History Reduction
Summarize long conversations to optimize memory:
var pipeline = new PipelineBuilder()
.AddStep(new Summarizer())
.AddStep(new HistoryReducer())
.Build();
Processing Images with Vision Models
Supports multimodal AI pipelines (text + images):
var visionStep = new AIImageProcessor("llama3.2-vision");
var pipeline = new PipelineBuilder()
.AddStep(visionStep)
.Build();
var result = await pipeline.ProcessAsync(imageInput);
Extensibility
Create your own steps, filters, and plugins by implementing IPipelinePlugin
.
public class MyCustomStep : IPipelinePlugin
{
public async Task<string> ExecuteAsync(string input)
{
return input.ToUpper();
}
}
Contributing
Contributions are welcome! Feel free to submit issues, feature requests, or pull requests.
https://github.com/pashkovdenis/serina-pipeline
License
This project is licensed under the MIT License. See LICENSE
for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.Http.Polly (>= 9.0.1)
- Microsoft.Extensions.Http.Resilience (>= 9.1.0)
- Microsoft.KernelMemory.AI.AzureOpenAI (>= 0.95.241216.2)
- Microsoft.KernelMemory.AI.Ollama (>= 0.94.241201.1)
- Microsoft.KernelMemory.Core (>= 0.94.241201.1)
- Microsoft.KernelMemory.MemoryDb.Qdrant (>= 0.94.241201.1)
- Microsoft.KernelMemory.SemanticKernelPlugin (>= 0.94.241201.1)
- Microsoft.SemanticKernel (>= 1.31.0)
- Microsoft.SemanticKernel.Agents.Abstractions (>= 1.31.0-alpha)
- Microsoft.SemanticKernel.Agents.Core (>= 1.31.0-alpha)
- Microsoft.SemanticKernel.Connectors.Ollama (>= 1.31.0-alpha)
- Microsoft.SemanticKernel.Connectors.OpenAI (>= 1.31.0)
- Microsoft.SemanticKernel.Connectors.Qdrant (>= 1.31.0-preview)
- Microsoft.SemanticKernel.Connectors.Redis (>= 1.31.0-preview)
- Microsoft.SemanticKernel.Core (>= 1.31.0)
- Microsoft.SemanticKernel.Planners.Handlebars (>= 1.24.1-preview)
- Microsoft.SemanticKernel.Plugins.Core (>= 1.31.0-alpha)
- Microsoft.SemanticKernel.Plugins.Memory (>= 1.31.0-alpha)
- Microsoft.SemanticKernel.Plugins.Web (>= 1.31.0-alpha)
- Microsoft.SemanticKernel.PromptTemplates.Handlebars (>= 1.31.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Serina.Semantic.Ai.Pipelines:
Package | Downloads |
---|---|
Serina.TagMemory
Semantic Kernel Tag Memory plugin that use sql database for RAG |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 117 | 4/3/2025 |