Introducing VoyageAI.NET 1.0.0

We have released VoyageAI.NET 1.0.0, an MIT-licensed .NET client for Voyage AI embeddings and reranking.

We built it while working on .NET RAG pipelines for clients. Each integration needed the same serialization, HTTP connection management, batching and error handling. We put that code into a library so it could be reused across projects.

The 1.0.0 release pairs those API calls with source-generated JSON metadata, a managed HTTP client and batched request handling. Here is what we included.

What is in the release

VoyageAI.NET covers text embeddings for indexing and querying text, multimodal embeddings for search across text and images in the same vector space, and document reranking for ordering retrieved candidates before they reach the language model.

The client provides single and batched calls for text and multimodal embeddings, plus document reranking with a query, candidate documents and an optional top-K value. Batched variants return IAsyncEnumerable.

The defaults we included

Source-generated JSON. The release uses source-generated System.Text.Json metadata for its request and response types.

HTTP connection management. The typed HttpClient is registered through IHttpClientFactory. Its HttpMessageHandler supports HTTP/2, periodic connection recycling for DNS refresh, automatic decompression and multiple concurrent HTTP/2 connections. Applications can instrument the standard .NET HTTP stack with OpenTelemetry.

Batching with bounded concurrency. Batch methods default to 128 inputs per request and up to eight concurrent requests. Both values are configurable. Results are exposed through IAsyncEnumerable.

Standard HTTP resilience. The DI registration includes Microsoft’s standard HTTP resilience handler for retries, circuit breaking and timeouts through Microsoft.Extensions.Http.Resilience. Applications can also supply their own configured HttpClient.

Supported target frameworks are net8.0, net9.0, net10.0. The client is registered with a single dependency-injection call.

Why we released it

We kept encountering the same integration work: configuring HttpClient, recycling connections, setting up source-generated System.Text.Json serialization and passing backpressure through the batching layer. VoyageAI.NET gives our projects a shared implementation of those choices.

Publishing it gives other .NET teams the same starting point, with the option to supply their own configured HttpClient for different transport or resilience requirements.

Get the package

The NuGet package is VoyageAI.NET. Source code is available at github.com/outmatic/VoyageAI.NET under the MIT licence.