EasyReasy.KnowledgeBase.OllamaGeneration 1.0.0

dotnet add package EasyReasy.KnowledgeBase.OllamaGeneration --version 1.0.0
                    
NuGet\Install-Package EasyReasy.KnowledgeBase.OllamaGeneration -Version 1.0.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="EasyReasy.KnowledgeBase.OllamaGeneration" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EasyReasy.KnowledgeBase.OllamaGeneration" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="EasyReasy.KnowledgeBase.OllamaGeneration" />
                    
Project file
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 EasyReasy.KnowledgeBase.OllamaGeneration --version 1.0.0
                    
#r "nuget: EasyReasy.KnowledgeBase.OllamaGeneration, 1.0.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.
#:package EasyReasy.KnowledgeBase.OllamaGeneration@1.0.0
                    
#: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=EasyReasy.KnowledgeBase.OllamaGeneration&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=EasyReasy.KnowledgeBase.OllamaGeneration&version=1.0.0
                    
Install as a Cake Tool

EasyReasy.KnowledgeBase.OllamaGeneration

← Back to EasyReasy System

NuGet

Ollama-based implementations for EasyReasy.KnowledgeBase generation services. Provides embedding generation and one-shot text processing using the EasyReasy.Ollama.Client library.

Features

  • 🧠 Embedding Service: Generate embeddings from text using Ollama models
  • 🎯 One-Shot Processing: AI-powered text processing (summarization, question generation, etc.)
  • 🔐 Automatic Authentication: Built-in JWT authentication with API key
  • ⚡ Async/Await: Full async support with cancellation tokens
  • 🛡️ Error Handling: Comprehensive error handling and resource disposal

Quick Start

Installation

dotnet add package EasyReasy.KnowledgeBase.OllamaGeneration

Embedding Service

using EasyReasy.KnowledgeBase.OllamaGeneration;

// Create embedding service
EasyReasyOllamaEmbeddingService embeddingService = await EasyReasyOllamaEmbeddingService.CreateAsync(
    baseUrl: "https://your-ollama-server.com",
    apiKey: "your-api-key", 
    modelName: "nomic-embed-text");

// Generate embeddings
float[] embeddings = await embeddingService.EmbedAsync("Hello, world!");

// Dispose when done
embeddingService.Dispose();

One-Shot Service

using EasyReasy.KnowledgeBase.OllamaGeneration;

// Create one-shot service  
EasyReasyOllamaOneShotService oneShotService = await EasyReasyOllamaOneShotService.CreateAsync(
    baseUrl: "https://your-ollama-server.com",
    apiKey: "your-api-key",
    modelName: "llama3.1");

// Process text with AI
string systemPrompt = "Summarize the following text in 2-3 sentences:";
string userInput = "Long document text here...";
string summary = await oneShotService.ProcessAsync(systemPrompt, userInput);

// Dispose when done
oneShotService.Dispose();

Using with KnowledgeBase

// Use as embedding service for document processing
SectionReaderFactory factory = new SectionReaderFactory(embeddingService, tokenizer);
using Stream stream = File.OpenRead("document.md");
SectionReader reader = factory.CreateForMarkdown(stream, maxTokensPerChunk: 100, maxTokensPerSection: 1000);

await foreach (List<KnowledgeFileChunk> chunks in reader.ReadSectionsAsync())
{
    // Process sections...
}

API Reference

EasyReasyOllamaEmbeddingService

Creation

static Task<EasyReasyOllamaEmbeddingService> CreateAsync(
    string baseUrl, 
    string apiKey, 
    string modelName, 
    CancellationToken cancellationToken = default)

Methods

  • EmbedAsync(string text, CancellationToken cancellationToken = default): Generate embedding vector
  • Dispose(): Clean up resources

EasyReasyOllamaOneShotService

Creation

static Task<EasyReasyOllamaOneShotService> CreateAsync(
    string baseUrl,
    string apiKey, 
    string modelName,
    CancellationToken cancellationToken = default)

Methods

  • ProcessAsync(string systemPrompt, string userInput, CancellationToken cancellationToken = default): Process text with AI
  • Dispose(): Clean up resources

Dependencies

  • .NET 8.0+: Modern async/await patterns
  • EasyReasy.KnowledgeBase: Core interfaces (IEmbeddingService, IOneShotService)
  • EasyReasy.Ollama.Client: Ollama API client library
  • EasyReasy.Ollama.Common: Shared models and types

License

MIT

Product 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.

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.0 114 8/18/2025