Codeblaze.SemanticKernel.Connectors.Ollama
1.1.0
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.1.0
NuGet\Install-Package Codeblaze.SemanticKernel.Connectors.Ollama -Version 1.1.0
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.1.0" />
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.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Codeblaze.SemanticKernel.Connectors.Ollama, 1.1.0"
#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.1.0 // Install Codeblaze.SemanticKernel.Connectors.Ollama as a Cake Tool #tool nuget:?package=Codeblaze.SemanticKernel.Connectors.Ollama&version=1.1.0
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 | 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.SemanticKernel (>= 1.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.