Contracts
The interfaces hold
IChatClient, IEmbeddingGenerator, and Semantic Kernel's connector contracts are served by official LM-Kit implementations.
If your .NET code talks to Azure OpenAI through
Microsoft.Extensions.AI or Semantic Kernel, the abstractions
you chose for portability can now pay out: swap the client, and inference
runs inside your application.
Both Microsoft bridges are official LM-Kit integrations. Everything written against the abstraction keeps working.
The IChatClient your services consume gets a local implementation.
Kernel plugins, prompts, and planners stay; the connector changes.
Prefer a server to a library? Point the OpenAI-compatible client at LM-Kit One instead.
The server path is its own guide: coming from OpenAI to LM-Kit One.
The abstractions did their job: everything written against them keeps compiling and keeps running.
Contracts
IChatClient, IEmbeddingGenerator, and Semantic Kernel's connector contracts are served by official LM-Kit implementations.
Behavior
Streaming responses, function calling, and structured output ride the same abstractions your code already exercises.
Plugins
Semantic Kernel plugins, prompt templates, and planner logic run against the local connector without edits.
Leaving the metered endpoint is the start. The point is what the embedded runtime adds around the model.
Private
Prompts, documents, and outputs stay in your application's memory space. Air-gapped deployments work once models are present.
Cost
Batch document runs, agent loops, and regression suites stop accruing per-token charges; capacity is your hardware.
Beyond chat
Document intelligence, extraction with confidence, RAG with citations, governed agents, and speech ship in the same package as the client you just swapped in.
Two differences worth planning for, before anyone discovers them in production.
Models
GPT-class hosted models stay in Azure. Locally you choose from a curated open-weight catalog sized to your machines; evaluate quality per task on your real workload.
Capacity
Throughput comes from CPU, GPU, and model choice rather than provisioned throughput units. Test with production-shaped load before the cutover.
LM-Kit.NET