Components

One connection. Any model.

A SmartEndpoint is the single point of contact between Wisej.AI and a model. It owns the connection details, builds the request payload, sends inference and embedding calls, and reads the response back — so everything above it works the same regardless of which provider is behind it.

The model can live anywhere: a public cloud API, your own data center, a machine on-premises, or even a JavaScript worker running in the user's browser. Swapping providers is a matter of swapping the endpoint.

Configured once, reused everywhere

An endpoint carries the few settings a model needs — which model, how large its context window is, how many tokens it may return — and exposes AskAsync for inference and AskEmbeddingsAsync for vectors. A SmartHub points at one endpoint and every adapter on it inherits the connection.

  • Model and EmbeddingModel select the models to call.
  • ContextWindow and MaxOutputTokens bound each request.
  • SystemPrompt and ToolsPrompt override the built-in prompts.
  • UseNativeTools switches to a provider's native tool payload.
  • Usage reports token metrics for the endpoint.
csharp
// Point a hub at OpenAI — adapters need no further setup
var endpoint = new OpenAIEndpoint {
    Model = "gpt-4o",
    EmbeddingModel = "text-embedding-3-small",
    ContextWindow = 128000,
    MaxOutputTokens = 4096
};

var hub = new SmartHub(this) { Endpoint = endpoint };

// Switching providers is one line:
hub.Endpoint = new AnthropicEndpoint { Model = "claude-sonnet" };

Why it matters

The provider decision stops being an architecture decision.

No lock-in

Adapters, tools and vectorization code never reference a provider. Evaluate a new model by changing one property; roll back the same way.

Private when it must be

Regulated data can stay on your hardware: point the same screen at OllamaEndpoint or LocalAIEndpoint and nothing leaves the building — or run HuggingFaceJavaScriptEndpoint entirely in the user's browser.

Right model per task

Use a frontier model for the copilot and a small local model for autocomplete. Hubs are cheap; screens can carry more than one.

Supported endpoints

24 endpoints, one interface.

Concrete endpoint classes ship for the major providers and for local and in-browser inference. Many speak the OpenAI protocol and inherit from OpenAIEndpoint; all of them derive from SmartEndpoint, so anything that accepts the base class accepts them all.

OpenAI & compatible 10

  • OpenAIEndpointOpenAI chat and embeddings
  • OpenAIEndpointDallEImage generation with DALL-E
  • OpenAIEndpointRealtimeLow-latency realtime API
  • OpenAIEndpointTTSText-to-speech
  • OpenAIEndpointWhisperSpeech-to-text transcription
  • AzureAIEndpointAzure-hosted OpenAI models
  • DeepSeekEndpointDeepSeek (OpenAI-compatible)
  • CerebrasEndpointCerebras (OpenAI-compatible)
  • SambaNovaEndpointSambaNova (OpenAI-compatible)
  • XAIEndpointx.AI Grok (OpenAI-compatible)

Other cloud providers 8

  • AnthropicEndpointAnthropic Claude
  • GoogleAIEndpointGoogle AI content and embeddings
  • AmazonBedrockEndpointAmazon Bedrock models
  • NvidiaAIEndpointNVIDIA AI
  • GroqCloudEndpointGroqCloud inference
  • GroqCloudEndpointWhisperGroqCloud transcription
  • TogetherAIEndpointTogether AI
  • HuggingFaceEndpointHuggingFace serverless inference

Local & in-browser 6

  • LocalAIEndpointSelf-hosted LocalAI models
  • LocalAIEndpointImageGenLocalAI image generation
  • LocalAIEndpointTTSLocalAI speech synthesis
  • LocalAIEndpointWhisperLocalAI transcription
  • OllamaEndpointOllama chat and embeddings
  • HuggingFaceJavaScriptEndpointtransformers.js in the browser