Class: Legion::Extensions::Llm::Mlx::Provider
- Inherits:
-
LexLLM::Provider
- Object
- LexLLM::Provider
- Legion::Extensions::Llm::Mlx::Provider
- Includes:
- LexLLM::Provider::OpenAICompatible
- Defined in:
- lib/legion/extensions/llm/mlx/provider.rb
Overview
MLX provider implementation for local OpenAI-compatible servers.
Defined Under Namespace
Modules: Capabilities
Class Method Summary collapse
- .capabilities ⇒ Object
- .configuration_options ⇒ Object
- .configuration_requirements ⇒ Object
- .local? ⇒ Boolean
- .slug ⇒ Object
Instance Method Summary collapse
Class Method Details
.capabilities ⇒ Object
18 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 18 def capabilities = Capabilities |
.configuration_options ⇒ Object
16 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 16 def = %i[mlx_api_base mlx_api_key] |
.configuration_requirements ⇒ Object
17 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 17 def configuration_requirements = [] |
.local? ⇒ Boolean
15 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 15 def local? = true |
.slug ⇒ Object
14 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 14 def slug = 'mlx' |
Instance Method Details
#api_base ⇒ Object
36 37 38 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 36 def api_base config.mlx_api_base || 'http://localhost:8000' end |
#headers ⇒ Object
40 41 42 43 44 45 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 40 def headers token = config.mlx_api_key return {} if token.nil? || token.to_s.empty? { 'Authorization' => "Bearer #{token}" } end |
#health ⇒ Object
49 50 51 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 49 def health connection.get(health_url).body end |
#health_url ⇒ Object
47 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 47 def health_url = '/health' |