ExtensionsAI Lodestar.Extensions.AI - CyrilB1531/lodestar GitHub Wiki

Development build. This page describes main, not a released package. The latest published Lodestar.Extensions.AI is 0.1.1 — read its documentation.

Home › ExtensionsAI

Lodestar.Extensions.AI

Exposes Lodestar's ONNX embedding path as IEmbeddingGenerator<string, Embedding<float>>, so an application written against Microsoft.Extensions.AI can use a local model without a service behind it. It adapts OnnxTextEmbedder and BatchEncoder; it computes nothing of its own.

Install

dotnet add package Lodestar.Extensions.AI

Example

using Lodestar.Embeddings.Persistence;
using Lodestar.Embeddings.Tokenization;
using Lodestar.Extensions.AI;
using Lodestar.Onnx;
using Microsoft.Extensions.AI;

async Task<int> EmbedAsync()
{
    var tokenizer = new WordPieceTokenizer(VocabTxtLoader.Load("vocab.txt"));

    using IEmbeddingGenerator<string, Embedding<float>> generator = new OnnxEmbeddingGenerator(
        new OnnxTextEmbedder("model.onnx", tokenizer), new BatchEncoder(tokenizer));

    GeneratedEmbeddings<Embedding<float>> vectors =
        await generator.GenerateAsync(["a first sentence", "a second one"]);
    return vectors[0].Dimensions;
}

Parity

It adds no computation; Lodestar.Onnx and Lodestar.Embeddings carry the parity. docs/equivalence.md maps each Python call to its C# counterpart, with every deliberate divergence.

Dependencies

An interop package (decision 0003), built for net10.0 and netstandard2.0:

  • Lodestar.Onnx 0.1.0 or later
  • Lodestar.Embeddings 0.8.0 or later
  • Microsoft.Extensions.AI.Abstractions 10.10.0 or later

Documentation

⚠️ **GitHub.com Fallback** ⚠️