Soenneker.SemanticKernel.Cache 3.0.173

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Soenneker.SemanticKernel.Cache --version 3.0.173
                    
NuGet\Install-Package Soenneker.SemanticKernel.Cache -Version 3.0.173
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Soenneker.SemanticKernel.Cache" Version="3.0.173" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.SemanticKernel.Cache" Version="3.0.173" />
                    
Directory.Packages.props
<PackageReference Include="Soenneker.SemanticKernel.Cache" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Soenneker.SemanticKernel.Cache --version 3.0.173
                    
#r "nuget: Soenneker.SemanticKernel.Cache, 3.0.173"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Soenneker.SemanticKernel.Cache@3.0.173
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Soenneker.SemanticKernel.Cache&version=3.0.173
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.SemanticKernel.Cache&version=3.0.173
                    
Install as a Cake Tool

alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image

alternate text is missing from this package README image Soenneker.SemanticKernel.Cache

Providing async thread-safe singleton Semantic Kernel instances

Why?

When using Microsoft.SemanticKernel, it's recommended to maintain long-lived kernel instances rather than re-creating them for each consumer or request. This avoids the overhead of reconfiguring connectors or plugins every time you need to perform a semantic operation. The SemanticKernelCache provides a thread-safe singleton cache per key via dependency injection. Kernel instances are created lazily using customizable options and disposed on application shutdown (or manually if needed).

Installation

Install the package via the .NET CLI:

dotnet add package Soenneker.SemanticKernel.Cache

Usage

1. Register the Cache in Dependency Injection

In your Program.cs (or equivalent startup file), register the cache with the DI container:

using Soenneker.SemanticKernel.Cache;

public static async Task Main(string[] args)
{
    var builder = WebApplication.CreateBuilder(args);

    // Register SemanticKernelCache as a singleton service.
    builder.Services.AddSemanticKernelCacheAsSingleton();

    // Other configuration...
}

2. Inject and Retrieve a Kernel Instance

Inject ISemanticKernelCache into your classes and retrieve a Microsoft.SemanticKernel.Kernel instance by providing the required options.

using System.Threading;
using System.Threading.Tasks;
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.Chat;
using Soenneker.SemanticKernel.Cache;

public class TestClass
{
    private readonly ISemanticKernelCache _semanticKernelCache;
    private readonly SemanticKernelOptions _options;

    public TestClass(ISemanticKernelCache semanticKernelCache)
    {
        _semanticKernelCache = semanticKernelCache;
        
        // Create the options object once. Replace these with your actual values.
        var options = new SemanticKernelOptions
        {
            ModelId = "deepseek-r1:32b",
            Endpoint = "http://localhost:11434",
            KernelFactory = (opts, ct) =>
            {
                IKernelBuilder builder = Kernel.CreateBuilder().AddOllamaChatCompletion(opts.ModelId, new Uri(opts.Endpoint));

                return ValueTask.FromResult(builder);
            }
        };
    }

    public async async ValueTask<string> GetKernelResponse(string input, CancellationToken cancellationToken = default)
    {
        // Retrieve (or create) the kernel instance using a key (here, nameof(TestClass)).
        Kernel kernel = await _semanticKernelCache.Get(nameof(TestClass), _options, cancellationToken);

        // Retrieve the chat completion service from the kernel.
        var chatCompletionService = kernel.GetRequiredService<IChatCompletionService>();

        // Create a chat history and add the user's message.
        var history = new ChatHistory();
        history.AddUserMessage(input);

        // Request a chat completion using the chat service.
        var chatResult = await chatCompletionService.GetChatMessageContentAsync(history, kernel: kernel);

        // Return the chat result (or process it further as needed).
        return chatResult.ToString();
    }
}

Extending for Different Connectors/Plugins

The SemanticKernelOptions class includes an optional KernelFactory delegate. This allows you to override the default behavior (which uses the Azure Text Completion service) and create the kernel using a different connector or plugin. For example:

var openAiOptions = new SemanticKernelOptions
{
    ModelId = "openai-model-id",
    Endpoint = "https://api.openai.com/v1/",
    ApiKey = "your-openai-api-key",
    KernelFactory = (opts, ct) =>
    {
        Kernel kernel = new KernelBuilder().AddOpenAITextCompletionService(opts.ModelId, opts.Endpoint, opts.ApiKey);

        return ValueTask.FromResult(kernel);
    },
    ConfigureKernelAsync = async kernel =>
    {
        // Optionally, import skills or perform additional configuration.
        await ValueTask.CompletedTask;
    }
};

Kernel openAiKernel = await semanticKernelCache.Get("openaiKernel", openAiOptions);

This design makes it straightforward to support multiple types of Semantic Kernel configurations using the same caching mechanism.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  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.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Soenneker.SemanticKernel.Cache:

Package Downloads
Soenneker.SemanticKernel.Pool

Manages a pool of Semantic Kernel instances with per-entry rate limiting.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.0.492 0 6 hours ago
3.0.491 434 5 days ago
3.0.490 431 5 days ago
3.0.489 341 21 days ago
3.0.488 170 21 days ago
3.0.487 146 21 days ago
3.0.486 127 21 days ago
3.0.485 179 21 days ago
3.0.484 182 21 days ago
3.0.483 356 25 days ago
3.0.482 280 a month ago
3.0.481 129 a month ago
3.0.480 269 a month ago
3.0.479 79 a month ago
3.0.478 57 a month ago
3.0.477 142 a month ago
3.0.476 57 a month ago
3.0.475 155 a month ago
3.0.474 58 a month ago
3.0.473 56 a month ago
3.0.472 67 a month ago
3.0.471 65 a month ago
3.0.470 76 a month ago
3.0.469 283 a month ago
3.0.468 173 a month ago
3.0.467 199 a month ago
3.0.466 186 a month ago
3.0.465 330 a month ago
3.0.464 136 a month ago
3.0.463 362 2 months ago
3.0.462 323 2 months ago
3.0.461 345 2 months ago
3.0.460 359 2 months ago
3.0.459 276 2 months ago
3.0.458 279 2 months ago
3.0.457 274 2 months ago
3.0.456 312 2 months ago
3.0.455 403 2 months ago
3.0.454 168 2 months ago
3.0.453 314 2 months ago
3.0.452 196 2 months ago
3.0.451 187 2 months ago
3.0.450 253 2 months ago
3.0.449 191 2 months ago
3.0.448 197 2 months ago
3.0.447 142 2 months ago
3.0.446 159 2 months ago
3.0.445 140 2 months ago
3.0.444 198 2 months ago
3.0.443 143 2 months ago
3.0.442 184 2 months ago
3.0.441 135 2 months ago
3.0.440 161 2 months ago
3.0.439 299 2 months ago
3.0.438 132 2 months ago
3.0.437 136 2 months ago
3.0.436 131 2 months ago
3.0.435 148 2 months ago
3.0.434 148 2 months ago
3.0.433 113 2 months ago
3.0.432 139 2 months ago
3.0.431 118 2 months ago
3.0.430 146 2 months ago
3.0.429 165 2 months ago
3.0.428 135 2 months ago
3.0.427 144 2 months ago
3.0.426 134 2 months ago
3.0.425 167 2 months ago
3.0.424 353 2 months ago
3.0.423 167 2 months ago
3.0.422 207 2 months ago
3.0.421 139 2 months ago
3.0.420 196 2 months ago
3.0.419 306 2 months ago
3.0.418 161 2 months ago
3.0.417 160 2 months ago
3.0.416 172 2 months ago
3.0.414 100 2 months ago
3.0.413 161 2 months ago
3.0.412 184 2 months ago
3.0.411 228 2 months ago
3.0.410 223 3 months ago
3.0.409 224 3 months ago
3.0.408 223 3 months ago
3.0.407 227 3 months ago
3.0.406 139 3 months ago
3.0.405 141 3 months ago
3.0.404 142 3 months ago
3.0.403 139 3 months ago
3.0.402 137 3 months ago
3.0.401 149 3 months ago
3.0.400 145 3 months ago
3.0.399 146 3 months ago
3.0.398 146 3 months ago
3.0.397 141 3 months ago
3.0.396 141 3 months ago
3.0.395 141 3 months ago
3.0.394 148 3 months ago
3.0.393 139 3 months ago
3.0.392 144 3 months ago
3.0.391 151 3 months ago
3.0.390 140 3 months ago
3.0.389 138 3 months ago
3.0.388 140 3 months ago
3.0.387 140 3 months ago
3.0.386 142 3 months ago
3.0.385 139 3 months ago
3.0.384 135 3 months ago
3.0.383 89 3 months ago
3.0.382 85 3 months ago
3.0.381 89 3 months ago
3.0.380 177 3 months ago
3.0.379 132 4 months ago
3.0.378 168 4 months ago
3.0.377 157 4 months ago
3.0.376 178 4 months ago
3.0.375 171 4 months ago
3.0.374 165 4 months ago
3.0.373 162 4 months ago
3.0.372 160 4 months ago
3.0.371 176 4 months ago
3.0.370 167 4 months ago
3.0.369 159 4 months ago
3.0.368 165 4 months ago
3.0.367 163 4 months ago
3.0.366 157 4 months ago
3.0.365 162 4 months ago
3.0.364 166 4 months ago
3.0.363 168 4 months ago
3.0.362 162 4 months ago
3.0.361 168 4 months ago
3.0.360 167 4 months ago
3.0.359 164 4 months ago
3.0.358 154 4 months ago
3.0.357 164 4 months ago
3.0.356 167 4 months ago
3.0.355 156 4 months ago
3.0.354 159 4 months ago
3.0.353 161 4 months ago
3.0.352 165 4 months ago
3.0.351 156 4 months ago
3.0.350 163 4 months ago
3.0.349 152 4 months ago
3.0.348 165 4 months ago
3.0.347 160 4 months ago
3.0.346 158 4 months ago
3.0.345 166 4 months ago
3.0.344 164 4 months ago
3.0.343 160 4 months ago
3.0.342 169 4 months ago
3.0.341 158 4 months ago
3.0.340 161 4 months ago
3.0.339 160 4 months ago
3.0.338 158 4 months ago
3.0.337 163 4 months ago
3.0.336 164 4 months ago
3.0.335 162 4 months ago
3.0.334 140 4 months ago
3.0.333 133 4 months ago
3.0.332 136 4 months ago
3.0.331 133 4 months ago
3.0.330 144 4 months ago
3.0.329 154 4 months ago
3.0.328 106 4 months ago
3.0.327 119 4 months ago
3.0.326 105 4 months ago
3.0.325 109 4 months ago
3.0.324 123 4 months ago
3.0.323 85 4 months ago
3.0.322 83 4 months ago
3.0.321 87 4 months ago
3.0.320 90 4 months ago
3.0.319 90 4 months ago
3.0.318 92 4 months ago
3.0.317 91 4 months ago
3.0.316 102 4 months ago
3.0.315 99 4 months ago
3.0.314 99 4 months ago
3.0.313 148 4 months ago
3.0.312 153 4 months ago
3.0.311 146 4 months ago
3.0.310 169 4 months ago
3.0.309 155 4 months ago
3.0.308 162 4 months ago
3.0.307 161 4 months ago
3.0.306 156 4 months ago
3.0.305 166 4 months ago
3.0.304 160 4 months ago
3.0.303 155 4 months ago
3.0.302 154 4 months ago
3.0.301 155 4 months ago
3.0.300 149 4 months ago
3.0.299 167 4 months ago
3.0.298 157 4 months ago
3.0.297 154 4 months ago
3.0.296 145 4 months ago
3.0.295 148 4 months ago
3.0.294 160 4 months ago
3.0.293 146 4 months ago
3.0.292 167 4 months ago
3.0.291 155 4 months ago
3.0.290 155 4 months ago
3.0.289 96 4 months ago
3.0.288 96 4 months ago
3.0.287 99 4 months ago
3.0.286 91 4 months ago
3.0.285 104 4 months ago
3.0.284 134 4 months ago
3.0.283 153 4 months ago
3.0.282 136 4 months ago
3.0.281 135 4 months ago
3.0.280 139 4 months ago
3.0.279 472 4 months ago
3.0.278 472 4 months ago
3.0.277 473 4 months ago
3.0.276 478 4 months ago
3.0.275 476 4 months ago
3.0.274 471 4 months ago
3.0.273 485 4 months ago
3.0.272 478 4 months ago
3.0.271 480 4 months ago
3.0.270 491 4 months ago
3.0.269 92 4 months ago
3.0.268 85 4 months ago
3.0.267 95 4 months ago
3.0.266 111 4 months ago
3.0.265 110 4 months ago
3.0.264 139 4 months ago
3.0.263 136 4 months ago
3.0.262 147 4 months ago
3.0.261 144 4 months ago
3.0.260 142 4 months ago
3.0.259 144 4 months ago
3.0.258 140 4 months ago
3.0.257 140 4 months ago
3.0.256 138 4 months ago
3.0.255 146 4 months ago
3.0.254 146 4 months ago
3.0.253 141 4 months ago
3.0.252 141 4 months ago
3.0.251 147 4 months ago
3.0.250 88 4 months ago
3.0.249 71 4 months ago
3.0.248 75 4 months ago
3.0.247 77 4 months ago
3.0.246 70 4 months ago
3.0.245 65 4 months ago
3.0.244 155 5 months ago
3.0.243 161 5 months ago
3.0.242 160 5 months ago
3.0.241 156 5 months ago
3.0.240 146 5 months ago
3.0.239 150 5 months ago
3.0.238 155 5 months ago
3.0.237 155 5 months ago
3.0.236 154 5 months ago
3.0.235 153 5 months ago
3.0.234 152 5 months ago
3.0.233 166 5 months ago
3.0.232 160 5 months ago
3.0.231 157 5 months ago
3.0.230 163 5 months ago
3.0.229 157 5 months ago
3.0.228 163 5 months ago
3.0.227 156 5 months ago
3.0.226 156 5 months ago
3.0.225 168 5 months ago
3.0.224 162 5 months ago
3.0.223 163 5 months ago
3.0.222 163 5 months ago
3.0.221 213 5 months ago
3.0.220 208 5 months ago
3.0.219 207 5 months ago
3.0.218 224 5 months ago
3.0.217 210 5 months ago
3.0.216 214 5 months ago
3.0.215 208 5 months ago
3.0.214 212 5 months ago
3.0.213 218 5 months ago
3.0.212 213 5 months ago
3.0.211 111 5 months ago
3.0.210 113 5 months ago
3.0.209 97 5 months ago
3.0.208 101 5 months ago
3.0.207 96 5 months ago
3.0.206 96 5 months ago
3.0.205 94 5 months ago
3.0.204 114 5 months ago
3.0.203 84 5 months ago
3.0.202 93 5 months ago
3.0.201 104 5 months ago
3.0.200 96 5 months ago
3.0.199 94 5 months ago
3.0.198 101 5 months ago
3.0.197 97 5 months ago
3.0.196 98 5 months ago
3.0.195 94 5 months ago
3.0.194 94 5 months ago
3.0.193 98 5 months ago
3.0.192 98 5 months ago
3.0.191 99 5 months ago
3.0.190 88 5 months ago
3.0.189 95 5 months ago
3.0.188 103 5 months ago
3.0.187 92 5 months ago
3.0.186 99 5 months ago
3.0.185 100 5 months ago
3.0.184 103 5 months ago
3.0.183 98 5 months ago
3.0.182 104 5 months ago
3.0.181 97 5 months ago
3.0.180 105 5 months ago
3.0.179 97 5 months ago
3.0.178 104 5 months ago
3.0.177 99 5 months ago
3.0.176 107 5 months ago
3.0.175 103 5 months ago
3.0.174 96 5 months ago
3.0.173 101 5 months ago
3.0.172 99 5 months ago
3.0.171 101 5 months ago
3.0.170 102 5 months ago
3.0.169 92 5 months ago
3.0.168 131 5 months ago
3.0.167 93 5 months ago
3.0.166 96 5 months ago
3.0.165 95 5 months ago
3.0.164 100 5 months ago
3.0.163 93 5 months ago
3.0.162 99 5 months ago
3.0.161 92 5 months ago
3.0.160 102 5 months ago
3.0.159 98 5 months ago
3.0.158 102 5 months ago
3.0.157 97 5 months ago
3.0.156 93 5 months ago
3.0.155 97 5 months ago
3.0.154 92 5 months ago
3.0.153 97 5 months ago
3.0.152 103 5 months ago
3.0.151 99 5 months ago
3.0.150 100 5 months ago
3.0.149 103 5 months ago
3.0.148 104 5 months ago
3.0.147 100 5 months ago
3.0.146 105 5 months ago
3.0.145 95 5 months ago
3.0.144 100 5 months ago
3.0.143 89 5 months ago
3.0.142 102 5 months ago
3.0.141 100 5 months ago
3.0.140 96 5 months ago
3.0.139 96 5 months ago
3.0.138 98 5 months ago
3.0.137 91 5 months ago
3.0.136 100 5 months ago
3.0.135 101 5 months ago
3.0.134 103 5 months ago
3.0.133 106 5 months ago
3.0.132 107 5 months ago
3.0.131 105 5 months ago
3.0.130 103 5 months ago
3.0.129 112 5 months ago
3.0.128 110 5 months ago
3.0.127 115 5 months ago
3.0.126 101 5 months ago
3.0.125 104 5 months ago
3.0.124 106 5 months ago
3.0.123 106 5 months ago
3.0.122 107 5 months ago
3.0.121 102 5 months ago
3.0.120 111 5 months ago
3.0.119 102 5 months ago
3.0.118 112 5 months ago
3.0.117 110 5 months ago
3.0.116 123 5 months ago
3.0.115 102 5 months ago
3.0.114 108 5 months ago
3.0.113 109 6 months ago
3.0.112 98 6 months ago
3.0.111 98 6 months ago
3.0.110 101 6 months ago
3.0.109 111 6 months ago
3.0.108 118 6 months ago
3.0.107 111 6 months ago
3.0.106 122 6 months ago
3.0.105 104 6 months ago
3.0.104 99 6 months ago
3.0.103 116 6 months ago
3.0.102 95 6 months ago
3.0.101 120 6 months ago
3.0.100 109 6 months ago
3.0.99 110 6 months ago
3.0.98 116 6 months ago
3.0.97 109 6 months ago
3.0.96 114 6 months ago
3.0.95 105 6 months ago
3.0.94 111 6 months ago
3.0.93 107 6 months ago
3.0.92 109 6 months ago
3.0.91 105 6 months ago
3.0.90 110 6 months ago
3.0.89 104 6 months ago
3.0.88 106 6 months ago
3.0.87 112 6 months ago
3.0.86 107 6 months ago
3.0.85 114 6 months ago
3.0.84 110 6 months ago
3.0.83 105 6 months ago
3.0.82 103 6 months ago
3.0.81 103 6 months ago
3.0.80 110 6 months ago
3.0.79 105 6 months ago
3.0.78 113 6 months ago
3.0.77 114 6 months ago
3.0.76 102 6 months ago
3.0.75 112 6 months ago
3.0.74 113 6 months ago
3.0.73 130 6 months ago
3.0.72 106 6 months ago
3.0.71 109 6 months ago
3.0.70 111 6 months ago
3.0.69 113 6 months ago
3.0.68 118 6 months ago
3.0.67 111 6 months ago
3.0.66 105 6 months ago
3.0.65 106 6 months ago
3.0.64 109 6 months ago
3.0.63 112 6 months ago
3.0.62 95 6 months ago
3.0.61 105 6 months ago
3.0.60 104 6 months ago
3.0.59 95 6 months ago
3.0.58 110 6 months ago
3.0.57 112 6 months ago
3.0.56 99 6 months ago
3.0.55 115 6 months ago
3.0.54 104 6 months ago
3.0.53 112 6 months ago
3.0.52 106 6 months ago
3.0.51 101 6 months ago
3.0.50 106 6 months ago
3.0.49 119 6 months ago
3.0.48 106 6 months ago
3.0.47 100 6 months ago
3.0.46 115 6 months ago
3.0.45 107 6 months ago
3.0.44 118 6 months ago
3.0.43 108 6 months ago
3.0.42 106 6 months ago
3.0.41 106 6 months ago
3.0.40 123 6 months ago
3.0.39 116 6 months ago
3.0.38 116 6 months ago
3.0.37 114 6 months ago
3.0.36 107 6 months ago
3.0.35 107 6 months ago
3.0.34 101 6 months ago
3.0.33 119 6 months ago
3.0.32 112 6 months ago
3.0.31 112 6 months ago
3.0.30 104 6 months ago
3.0.29 109 6 months ago
3.0.28 98 6 months ago
3.0.27 91 6 months ago
3.0.26 111 6 months ago
3.0.25 103 6 months ago
3.0.24 108 6 months ago
3.0.23 106 6 months ago
3.0.22 114 6 months ago
3.0.21 107 6 months ago
3.0.20 109 6 months ago
3.0.19 116 6 months ago
3.0.18 106 6 months ago
3.0.17 104 6 months ago
3.0.16 113 6 months ago
3.0.15 102 6 months ago
3.0.14 112 6 months ago
3.0.13 99 6 months ago
3.0.12 108 6 months ago
3.0.11 111 6 months ago
3.0.10 111 6 months ago
3.0.9 108 6 months ago
3.0.8 103 6 months ago
3.0.7 113 6 months ago
3.0.6 114 6 months ago
3.0.5 109 6 months ago
3.0.4 115 6 months ago
3.0.3 109 6 months ago