Codeblaze.SemanticKernel.Connectors.AI.Ollama
1.0.7
Suggested Alternatives
Codeblaze.SemanticKernel.Connectors.Ollama
Additional DetailsPackage has been re-named
dotnet add package Codeblaze.SemanticKernel.Connectors.AI.Ollama --version 1.0.7
NuGet\Install-Package Codeblaze.SemanticKernel.Connectors.AI.Ollama -Version 1.0.7
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.AI.Ollama" Version="1.0.7" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Codeblaze.SemanticKernel.Connectors.AI.Ollama --version 1.0.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Codeblaze.SemanticKernel.Connectors.AI.Ollama, 1.0.7"
#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.AI.Ollama as a Cake Addin #addin nuget:?package=Codeblaze.SemanticKernel.Connectors.AI.Ollama&version=1.0.7 // Install Codeblaze.SemanticKernel.Connectors.AI.Ollama as a Cake Tool #tool nuget:?package=Codeblaze.SemanticKernel.Connectors.AI.Ollama&version=1.0.7
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.AI.Ollama
Text Generation
Configure the kernel
var builder = new KernelBuilder(); // 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. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.SemanticKernel (>= 1.0.0-rc3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
1.0.7 | 297 | 12/10/2023 | |
1.0.6 | 136 | 12/10/2023 | |
1.0.5 | 134 | 12/10/2023 | |
1.0.2-alpha.0.3 | 68 | 12/10/2023 |