Solutions · Integrations

LM-Kit plugs into the stack you already run.

In-process .NET bridges, a server speaking OpenAI, Ollama and Anthropic dialects, governed tools for external assistants, and the databases you already operate.

OpenAI-compatible API Ollama & Anthropic dialects Qdrant & pgvector storage Governed MCP tools

Three ways in, one technology.

Pick the surface that matches your architecture. All three reach the same engine, so switching later is a wiring change.

In process

One NuGet in .NET

Embed LM-Kit.NET directly, or keep your existing pipeline and swap the backend through the Microsoft.Extensions.AI and Semantic Kernel bridges.

Over the wire

A server any client reaches

LM-Kit One serves native REST plus OpenAI, Ollama and Anthropic compatible endpoints, so existing SDKs and tools keep working against a private deployment.

In your data layer

Databases you already operate

Embeddings and search live in the built-in vector store, or in Qdrant and PostgreSQL with pgvector when you would rather run infrastructure you already have.

Compatibility that goes past a chat endpoint.

Compatibility is usually a chat route and a promise. LM-Kit One's dialects go deep enough that real clients work unmodified.

OpenAI

The OpenAI dialect

Chat completions, completions, embeddings and models, plus files, vector stores, and the Responses API: OpenAI-shaped retrieval and agentic flows, privately.

Ollama

The Ollama dialect

Tools and clients that speak Ollama point at LM-Kit One instead, and keep their model listing, pulling and chat workflows.

Anthropic

The Anthropic dialect

The Messages endpoint in the Anthropic shape, so SDKs and coding agents built on it keep working while inference stays inside your network.

Native

The full REST surface

Beyond chat: document, extraction, search, agent, training and model-management endpoints that no general chat API models. This is the platform at its widest.

See LM-Kit One

Deploy once, point your existing clients at it: the LM-Kit One quickstart takes minutes.

Investment preserved.

Plugins, planners, middleware and client code written against standard surfaces keep working. The backend moves; the surface stays.

No code rewrites

Code that consumes IChatClient, IChatCompletionService or an OpenAI SDK works as-is. Swap the registration or the base URL.

Hybrid by default

Register multiple services and route per request: local for sensitive data, cloud for bulk traffic. Same abstraction handles both.

Middleware preserved

Logging, caching, retry and function-invocation middleware written against the abstraction works unchanged.

CI-friendly

Run end-to-end tests against the abstraction with a local implementation. No external API quota, no flaky network in CI.

Library publishers

A NuGet that consumes IChatClient works with LM-Kit out of the box. The library author does not need to know about LM-Kit.

Future-compatible

The abstractions and dialects evolve; the bridges and endpoints track them. New surface lands as new surface, not a rewrite.

Frequently asked questions.

Does LM-Kit expose OpenAI-compatible endpoints?

Yes. LM-Kit One serves chat completions, completions, embeddings and models in the OpenAI shape, plus files, vector stores and the Responses API, alongside Ollama and Anthropic Messages dialects. Existing SDKs and tools point at a private deployment and keep working.

Which databases can LM-Kit use for vectors and search?

The built-in vector store works with no extra infrastructure. Qdrant and PostgreSQL with pgvector are supported through connectors in LM-Kit.NET, and LM-Kit One can run its search storage on either instead of its local cluster.

Does LM-Kit.NET integrate with Semantic Kernel?

Yes. LM-Kit ships a Semantic Kernel bridge that implements IChatCompletionService and a memory store backed by LM-Kit embeddings. Existing kernels, plugins, planners, prompt files, and memory connectors run on-device.

Can I use LM-Kit.NET with Microsoft.Extensions.AI and IChatClient?

Yes. The Microsoft.Extensions.AI bridge implements IChatClient and IEmbeddingGenerator, so streaming, function calling, and function-invocation middleware all work. It drops into any pipeline already built on the abstraction.

Do I have to rewrite my code to switch to a local backend?

No. Code that consumes IChatClient, IChatCompletionService or an OpenAI-compatible SDK works as-is; you swap the registration or the base URL and inference runs inside your infrastructure.

Can LM-Kit run both cloud and local inference through the same abstraction?

Yes. You can register multiple chat services and route per request, for example local for sensitive data and cloud for bulk traffic. The Amazon Bedrock provider also plugs managed cloud embeddings into the same RagEngine pipeline as local models.

Connect

Keep your stack. Move the intelligence.