MemberJunction AI provider for LM Studio, enabling integration with locally-hosted models through LM Studio's OpenAI-compatible API. This package extends the OpenAI provider to connect to LM Studio's local inference server.
graph TD
A["LMStudioLLM
(Provider)"] -->|extends| B["OpenAILLM
(@memberjunction/ai-openai)"]
B -->|extends| C["BaseLLM
(@memberjunction/ai)"]
A -->|connects to| D["LM Studio Server
(localhost:1234/v1)"]
D -->|runs| E["Local Models
(GGUF, GGML)"]
C -->|registered via| F["@RegisterClass"]
style A fill:#7c5295,stroke:#563a6b,color:#fff
style B fill:#2d6a9f,stroke:#1a4971,color:#fff
style C fill:#2d6a9f,stroke:#1a4971,color:#fff
style D fill:#2d8659,stroke:#1a5c3a,color:#fff
style E fill:#b8762f,stroke:#8a5722,color:#fff
style F fill:#b8762f,stroke:#8a5722,color:#fff
npm install @memberjunction/ai-lm-studio
import { LMStudioLLM } from '@memberjunction/ai-lm-studio';
// API key is not used but required by the interface
const llm = new LMStudioLLM('not-used');
const result = await llm.ChatCompletion({
model: 'local-model', // Model loaded in LM Studio
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'Explain how local inference works.' }
],
temperature: 0.7
});
if (result.success) {
console.log(result.data.choices[0].message.content);
}
The default endpoint is http://localhost:1234/v1. Configure via SetAdditionalSettings if using a different host/port.
LMStudioLLM is a thin subclass of OpenAILLM that redirects API calls to LM Studio's local server endpoint. LM Studio provides an OpenAI-compatible API, so all chat, streaming, and parameter handling is inherited from the OpenAI provider.
Registered as LMStudioLLM via @RegisterClass(BaseLLM, 'LMStudioLLM').
@memberjunction/ai - Core AI abstractions@memberjunction/ai-openai - OpenAI provider (parent class)@memberjunction/global - Class registration