AugusteVN.Ollama.Client
1.1.1
dotnet add package AugusteVN.Ollama.Client --version 1.1.1
NuGet\Install-Package AugusteVN.Ollama.Client -Version 1.1.1
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="AugusteVN.Ollama.Client" Version="1.1.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AugusteVN.Ollama.Client" Version="1.1.1" />
<PackageReference Include="AugusteVN.Ollama.Client" />
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 AugusteVN.Ollama.Client --version 1.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AugusteVN.Ollama.Client, 1.1.1"
#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 AugusteVN.Ollama.Client@1.1.1
#: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=AugusteVN.Ollama.Client&version=1.1.1
#tool nuget:?package=AugusteVN.Ollama.Client&version=1.1.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Ollama Client
A C# client library for interacting with your Ollama API setup. This package provides simple and easy-to-use APIs for generating model responses, listing local models, ...
Interact with your own Ollama API setup by passing an accessible host URL.
Some links to get you started:
Configuration
Program.cs
builder.Services.AddOllamaHttpClient(builder.Configuration);
// --- Or --- //
builder.Services
.AddOptions<OllamaClientConfig>()
.BindConfiguration(nameof(OllamaClientConfig));
builder.Services.AddHttpClient(); // Registers the IHttpClientFactory
builder.Services.AddScoped<IOllamaHttpClient, OllamaHttpClient>();
// Or
builder.Services.AddHttpClient<IOllamaHttpClient, OllamaHttpClient>(); // Registers the IHttpClientFactory
// Or
var ollamaClient = new OllamaHttpClient(
new HttpClient(),
new OllamaClientConfig { HostUrl = "<optionally-set-here-or-pass-as-param-in-method>" }
);
List Models
class Example(OllamaHttpClient ollamaClient)
{
public async Task ListModelsAsync()
{
var result = await ollamaClient.ListLocalModelsAsync(hostUrl: "http://localhost:11434");
if (!result.IsFailure && result.Value.Models?.Any() == true)
{
Console.WriteLine(result.Value.Models.Select(model => model.Name));
}
}
});
Generate Embedding
class Example(OllamaHttpClient ollamaClient)
{
public async Task EmbedAsync()
{
var result = await OllamaHttpClient.EmbedAsync(
new OllamaEmbedRequest
{
Model = "llama3.1",
Input = [
"Document this C# method as XML comment format: ```csharp ...```",
"More text to embed"
]
}, hostUrl: "http://localhost:11434"));
Console.WriteLine(result.Embeddings);
}
}
Generate Model Response
class Example(OllamaHttpClient ollamaClient)
{
public async Task GenerateAsync()
{
await foreach (var stream in OllamaHttpClient.GenerateAsync(
new OllamaGenerateRequest
{
Model = "llama3.1",
Stream = false,
Prompt = "Document this C# method as XML comment format: ```csharp ...```"
}, hostUrl: "http://localhost:11434"))
{
Console.WriteLine(stream.Response);
}
}
}
Chat with Model
class Example(OllamaHttpClient ollamaClient)
{
public async Task ChatAsync()
{
await foreach (var stream in OllamaHttpClient.ChatAsync(
new OllamaChatRequest
{
Messages = new []{ new OllamaChatMessageRequest {
Content = "C# pass Http completion option to PostAsJsonAsync" }
},
Model = "llama3.1",
Stream = true
}, hostUrl: "http://localhost:11434"))
{
Console.WriteLine(stream.Message.Content);
}
}
}
Find a more complete client package: OllamaSharp
Get the original code of my package, here:
| 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. 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.
-
net8.0
- AugusteVN.ResultPattern.Contracts (>= 1.0.7)
- Microsoft.Extensions.Http (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Correct README Embed Input.