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.
ModelandEmbeddingModelselect the models to call.ContextWindowandMaxOutputTokensbound each request.SystemPromptandToolsPromptoverride the built-in prompts.UseNativeToolsswitches to a provider's native tool payload.Usagereports token metrics for the endpoint.
// 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 embeddingsOpenAIEndpointDallEImage generation with DALL-EOpenAIEndpointRealtimeLow-latency realtime APIOpenAIEndpointTTSText-to-speechOpenAIEndpointWhisperSpeech-to-text transcriptionAzureAIEndpointAzure-hosted OpenAI modelsDeepSeekEndpointDeepSeek (OpenAI-compatible)- C
CerebrasEndpointCerebras (OpenAI-compatible) - SN
SambaNovaEndpointSambaNova (OpenAI-compatible) XAIEndpointx.AI Grok (OpenAI-compatible)
Other cloud providers 8
AnthropicEndpointAnthropic ClaudeGoogleAIEndpointGoogle AI content and embeddingsAmazonBedrockEndpointAmazon Bedrock modelsNvidiaAIEndpointNVIDIA AI- gr
GroqCloudEndpointGroqCloud inference - gr
GroqCloudEndpointWhisperGroqCloud transcription - T
TogetherAIEndpointTogether AI HuggingFaceEndpointHuggingFace serverless inference
Local & in-browser 6
- L
LocalAIEndpointSelf-hosted LocalAI models - L
LocalAIEndpointImageGenLocalAI image generation - L
LocalAIEndpointTTSLocalAI speech synthesis - L
LocalAIEndpointWhisperLocalAI transcription OllamaEndpointOllama chat and embeddingsHuggingFaceJavaScriptEndpointtransformers.js in the browser