OllamaSharp 1.1.3

There is a newer version of this package available.
See the version list below for details.
dotnet add package OllamaSharp --version 1.1.3                
NuGet\Install-Package OllamaSharp -Version 1.1.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="OllamaSharp" Version="1.1.3" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add OllamaSharp --version 1.1.3                
#r "nuget: OllamaSharp, 1.1.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 OllamaSharp as a Cake Addin
#addin nuget:?package=OllamaSharp&version=1.1.3

// Install OllamaSharp as a Cake Tool
#tool nuget:?package=OllamaSharp&version=1.1.3                

OllamaSharp 🦙

OllamaSharp is a .NET binding for the Ollama API, making it easy to interact with Ollama using your favorite .NET languages.

Features

  • Intuitive API client: Set up and interact with Ollama in just a few lines of code.
  • API endpoint coverage: Support for all Ollama API endpoints including chats, embeddings, listing models, pulling and creating new models, and more.
  • Real-time streaming: Stream responses directly to your application.
  • Progress reporting: Get real-time progress feedback on tasks like model pulling.
  • API Console: A ready-to-use API console to chat and manage your Ollama host remotely

Usage

OllamaSharp wraps every Ollama API endpoint in awaitable methods that fully support response streaming.

The follow list shows a few examples to get a glimpse on how easy it is to use. The list is not complete.

Initializing

// set up the client
var uri = new Uri("http://localhost:11434");
var ollama = new OllamaApiClient(uri);

// select a model which should be used for further operations
ollama.SelectedModel = "llama2";

Listing all models that are available locally

var models = await ollama.ListLocalModels();

Pulling a model and reporting progress

await ollama.PullModel("mistral", status => Console.WriteLine($"({status.Percent}%) {status.Status}"));

Streaming a completion directly into the console

// keep reusing the context to keep the chat topic going
ConversationContext context = null;
context = await ollama.StreamCompletion("How are you today?", context, stream => Console.Write(stream.Response));

Building interactive chats

// uses the /chat api from Ollama 0.1.14
// messages including their roles will automatically be tracked within the chat object
var chat = ollama.Chat(stream => Console.WriteLine(stream.Message?.Content ?? ""));
while (true)
{
    var message = Console.ReadLine();
    await chat.Send(message);
}

Api Console

This project ships a full-featured demo console for all endpoints the Ollama API is exposing.

This is not only a great resource to learn about OllamaSharp, it can also be used to manage and chat with the Ollama host remotely. Image chat is supported for multi modal models.

Api Console Demo

Credits

Icon and name were reused from the amazing Ollama project.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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 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.
  • net6.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages (9)

Showing the top 5 NuGet packages that depend on OllamaSharp:

Package Downloads
Microsoft.KernelMemory.AI.Ollama

Provide access to Ollama LLM models in Kernel Memory to generate embeddings and text

Microsoft.SemanticKernel.Connectors.Ollama

Semantic Kernel connector for Ollama. Contains services for text generation, chat completion and text embeddings.

CommunityToolkit.Aspire.Hosting.Ollama

An Aspire integration leveraging the Ollama container with support for downloading a model on startup.

CommunityToolkit.Aspire.OllamaSharp

A .NET Aspire client integration for the OllamaSharp library.

JinHao.CodeEase.DesignerManagement.Application

CodeEaseFramework

GitHub repositories (5)

Showing the top 5 popular GitHub repositories that depend on OllamaSharp:

Repository Stars
microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps
microsoft/kernel-memory
RAG architecture: index and query any data using LLM and natural language, track sources, show citations, asynchronous memory patterns.
dotnet/ai-samples
CommunityToolkit/Aspire
A community project with additional components and extensions for .NET Aspire
lindexi/lindexi_gd
博客用到的代码
Version Downloads Last updated
4.0.8 2,522 11/22/2024
4.0.7 2,941 11/13/2024
4.0.6 7,724 11/7/2024
4.0.5 1,283 11/5/2024
4.0.4 297 11/4/2024
4.0.3 3,382 10/30/2024
4.0.2 249 10/29/2024
4.0.1 2,042 10/26/2024
4.0.0-preview.10 70 10/23/2024
4.0.0-preview.9 46 10/21/2024
4.0.0-preview.8 69 10/17/2024
3.0.15 2,802 10/21/2024
3.0.14 5,646 10/16/2024
3.0.13 78 10/16/2024
3.0.12 12,363 10/14/2024
3.0.11 1,309 10/9/2024
3.0.10 8,713 10/4/2024
3.0.9 93 10/4/2024
3.0.8 11,758 9/26/2024
3.0.7 15,613 9/12/2024
3.0.6 1,149 9/11/2024
3.0.5 784 9/11/2024
3.0.4 24,487 9/6/2024
3.0.3 110 9/6/2024
3.0.2 376 9/5/2024
3.0.1 15,925 9/2/2024
3.0.0 1,939 8/26/2024
2.1.3 2,512 8/23/2024
2.1.2 2,119 8/19/2024
2.1.1 4,108 8/5/2024
2.0.15 118 8/5/2024
2.0.14 97 8/3/2024
2.0.13 1,680 7/29/2024
2.0.12 100 7/28/2024
2.0.11 110 7/28/2024
2.0.10 3,687 7/12/2024
2.0.9 96 7/12/2024
2.0.8 127 7/12/2024
2.0.7 1,492 7/10/2024
2.0.6 3,079 6/25/2024
2.0.5 101 6/25/2024
2.0.4 568 6/24/2024
2.0.3 102 6/24/2024
2.0.2 141 6/24/2024
2.0.1 3,657 6/5/2024
1.1.13 179 6/5/2024
1.1.12 403 6/4/2024
1.1.11 290 6/2/2024
1.1.10 915 5/31/2024
1.1.9 6,681 5/15/2024
1.1.8 1,357 5/10/2024
1.1.7 115 5/10/2024
1.1.5 109 5/10/2024
1.1.4 164 5/10/2024
1.1.3 109 5/10/2024
1.1.2 112 5/10/2024
1.1.1 3,052 3/27/2024
1.1.0 1,807 1/8/2024
1.0.4 291 12/27/2023
1.0.3 335 11/30/2023
1.0.2 308 11/5/2023
1.0.1 187 10/16/2023
1.0.0 1,437 10/16/2023