class LittleGhost::Providers::LMStudio
LMStudio connects LittleGhost to an LM Studio server through its OpenAI-compatible API. Generation, embeddings, retries, cancellation, and deadlines use the shared compatible transport.
provider = LittleGhost::Providers::LMStudio.new( model: "google/gemma-3-4b", allow_insecure_http: true )
The default endpoint is LM Studio’s local server. Pass api_key when the server requires authentication. Plain HTTP remains an explicit opt-in.
Constants
- DEFAULT_BASE_URL
-
Default endpoint for LM Studio’s OpenAI-compatible API.
Public Class Methods
# File lib/little_ghost/providers/lm_studio.rb, line 27 def initialize(api_key: DEFAULT_API_KEY, base_url: DEFAULT_BASE_URL, **arguments) super end
Configures an LM Studio client. All OpenAICompatible options apply. The placeholder API key is suitable only when LM Studio authentication is disabled.
Calls superclass method
Public Instance Methods
Source
# File lib/little_ghost/providers/lm_studio.rb, line 34 def capabilities(metadata: {}) parameters = metadata[:supported_parameters] || metadata["supported_parameters"] return super unless parameters.is_a?(Array) values = parameters.map(&:to_s) ModelCapabilities.new( native_structured_output: values.include?("structured_outputs"), tools: values.include?("tools"), tool_choice: values.include?("tool_choice"), supported_parameters: values ) end
Uses refreshed LM Studio model metadata when available. Before a catalog refresh, the compatible endpoint retains its permissive capability contract.
Calls superclass method