Codeblaze.SemanticKernel.Connectors.Ollama
1.2.3
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Codeblaze.SemanticKernel.Connectors.Ollama --version 1.2.3
NuGet\Install-Package Codeblaze.SemanticKernel.Connectors.Ollama -Version 1.2.3
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="Codeblaze.SemanticKernel.Connectors.Ollama" Version="1.2.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Codeblaze.SemanticKernel.Connectors.Ollama --version 1.2.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Codeblaze.SemanticKernel.Connectors.Ollama, 1.2.3"
#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.
// Install Codeblaze.SemanticKernel.Connectors.Ollama as a Cake Addin #addin nuget:?package=Codeblaze.SemanticKernel.Connectors.Ollama&version=1.2.3 // Install Codeblaze.SemanticKernel.Connectors.Ollama as a Cake Tool #tool nuget:?package=Codeblaze.SemanticKernel.Connectors.Ollama&version=1.2.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Ollama Connector
Supports
- text generation
- chat completion
- embedding generation
⚠️ Embedding generation: Is experimental in the semantic kernel.
Quick Start
Install from nuget
dotnet add package Codeblaze.SemanticKernel.Connectors.Ollama
Text Generation
Configure the kernel
var builder = Kernel.CreateBuilder(); // provide the HTTP client used to interact with Ollama API builder.Services.AddTransient<HttpClient>(); builder.AddOllamaTextGeneration( config["Ollama:Model"], // Ollama model Id config["Ollama:BaseUrlGeneration"] // Ollama endpoint ); var kernel = builder.Build();
Usage
const string prompt = """ Bot: How can I help you? User: {{$input}} --------------------------------------------- The intent of the user in 5 words or less: """; var result = await kernel.InvokePromptAsync(prompt, new KernelArguments { {"input", input} }); System.Console.WriteLine(result.GetValue<string>());
Chat Completion
Configure the kernel
var builder = new KernelBuilder(); // provide the HTTP client used to interact with Ollama API builder.Services.AddTransient<HttpClient>(); builder.AddOllamaChatCompletion( config["Ollama:Model"], // Ollama model Id config["Ollama:BaseUrlGeneration"] // Ollama endpoint ); var kernel = builder.Build();
Usage
var chat = _Kernel.GetRequiredService<IChatCompletionService>(); var history = new ChatHistory(); // add messages to current chat history as required history.AddSystemMessage("..."); history.AddAssistantMessage("..."); history.AddUserMessage(input); // result is a list of all chat messages // including the output of current prompt var result = await chat.GetChatMessageContentsAsync(history); // Print the last message System.Console.WriteLine(result[^1].Content);
Embedding Generation (Experimental)
Configure the kernel
var builder = new KernelBuilder(); // provide the HTTP client used to interact with Ollama API builder.Services.AddTransient<HttpClient>(); builder.AddOllamaTextEmbeddingGeneration( config["Ollama:Model"], // Ollama model Id config["Ollama:BaseUrlGeneration"] // Ollama endpoint ); // Configure memory backend (e.g Azure Cognitive Search) var kernel = builder.Build();
Usage
var memory = _Kernel.GetRequiredService<ISemanticTextMemory>(); // This will internally call Ollama embedding service to generate embeddings memory.SaveReferenceAsync( collection: "collection", externalSourceName: "ext-collection", externalId: id, // reference id (database entity id) description: input, text: input );
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.SemanticKernel (>= 1.1.0)
- System.Net.Http.Json (>= 8.0.0)
- System.Text.Json (>= 8.0.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Codeblaze.SemanticKernel.Connectors.Ollama:
Package | Downloads |
---|---|
Chaosage.Core.Setup
Chaosage开发平台API配置规范 |
GitHub repositories
This package is not used by any popular GitHub repositories.