lex-llm-mlx 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +12 -0
- data/Gemfile +2 -6
- data/README.md +4 -2
- data/lex-llm-mlx.gemspec +3 -7
- data/lib/legion/extensions/llm/mlx/provider.rb +3 -3
- data/lib/legion/extensions/llm/mlx/version.rb +1 -1
- data/lib/legion/extensions/llm/mlx.rb +2 -2
- metadata +5 -62
- data/lib/lex_llm_mlx.rb +0 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c278a29838c21de426034f06f316f4e9e119317f2551ef9040522f9bb304d605
|
|
4
|
+
data.tar.gz: 25151910ac50c46cb5276e1b78a0a2d37a65aaf2d2b536493369b0ffd8136985
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4bd51bf199594f179c820344d11bb9c81d24eb553cfffc8a9766f3baf693cde1f3479b64fd88805fa7d501a3d336bdec8e9bc64f3d8b4b21b446770de9f10336
|
|
7
|
+
data.tar.gz: d9c87b7aac38d4e62bbbe8afd3cc7ecc78aeb2886ecfd6d41a9f5d3f6840df06193262614f0885f87e30a391fb5011518cedd180d30d4ee97840cc5ca98e2b30
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.3 - 2026-04-28
|
|
4
|
+
|
|
5
|
+
- Remove the leftover compatibility entrypoint outside the Legion namespace.
|
|
6
|
+
- Load specs through the canonical `legion/extensions/llm/mlx` namespace path.
|
|
7
|
+
- Keep provider gemspec dependencies scoped to the shared `lex-llm` base gem.
|
|
8
|
+
|
|
9
|
+
## 0.1.2 - 2026-04-28
|
|
10
|
+
|
|
11
|
+
- Replace fork-era namespace references with the standard Legion::Extensions::Llm provider contract.
|
|
12
|
+
- Remove GitHub-based lex-llm Gemfile fallback so test installs use only a guarded local path or released gem dependency.
|
|
13
|
+
- Require lex-llm >= 0.1.3 for the cleaned Legion-native base extension.
|
|
14
|
+
|
|
3
15
|
## 0.1.1 - 2026-04-27
|
|
4
16
|
|
|
5
17
|
- Add a local MLX OpenAI-compatible provider class with chat, streaming, model listing, embeddings, and health endpoint helpers.
|
data/Gemfile
CHANGED
|
@@ -3,12 +3,8 @@
|
|
|
3
3
|
source 'https://rubygems.org'
|
|
4
4
|
|
|
5
5
|
group :test do
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
else
|
|
9
|
-
gem 'lex-llm', git: 'https://github.com/LegionIO/lex-llm',
|
|
10
|
-
branch: ENV.fetch('LEX_LLM_BRANCH', 'main')
|
|
11
|
-
end
|
|
6
|
+
llm_base_path = ENV.fetch('LEX_LLM_PATH', File.expand_path('../lex-llm', __dir__))
|
|
7
|
+
gem 'lex-llm', path: llm_base_path if File.directory?(llm_base_path)
|
|
12
8
|
end
|
|
13
9
|
|
|
14
10
|
gemspec
|
data/README.md
CHANGED
|
@@ -4,6 +4,8 @@ LegionIO LLM provider extension for MLX-backed OpenAI-compatible servers on Appl
|
|
|
4
4
|
|
|
5
5
|
This gem lives under `Legion::Extensions::Llm::Mlx` and depends on `lex-llm` for shared provider-neutral routing, fleet, and schema primitives.
|
|
6
6
|
|
|
7
|
+
Load it with `require 'legion/extensions/llm/mlx'`.
|
|
8
|
+
|
|
7
9
|
## What It Provides
|
|
8
10
|
|
|
9
11
|
- `Legion::Extensions::Llm::Mlx::Provider`, registered as `:mlx`.
|
|
@@ -22,7 +24,7 @@ Defaults target `http://localhost:8000`, mark the provider as `:local`, and allo
|
|
|
22
24
|
## Configuration
|
|
23
25
|
|
|
24
26
|
```ruby
|
|
25
|
-
|
|
27
|
+
Legion::Extensions::Llm.configure do |config|
|
|
26
28
|
config.mlx_api_base = 'http://localhost:8000'
|
|
27
29
|
config.mlx_api_key = ENV['MLX_API_KEY']
|
|
28
30
|
end
|
|
@@ -37,4 +39,4 @@ end
|
|
|
37
39
|
- `embedding_url`: `/v1/embeddings`
|
|
38
40
|
- `health_url`: `/health`
|
|
39
41
|
|
|
40
|
-
The provider uses the shared `
|
|
42
|
+
The provider uses the shared `Legion::Extensions::Llm::Provider::OpenAICompatible` adapter so Legion routing can treat MLX, vLLM, OpenAI, and other compatible servers consistently while preserving provider-specific settings and health behavior.
|
data/lex-llm-mlx.gemspec
CHANGED
|
@@ -7,8 +7,8 @@ Gem::Specification.new do |spec|
|
|
|
7
7
|
spec.version = Legion::Extensions::Llm::Mlx::VERSION
|
|
8
8
|
spec.authors = ['LegionIO']
|
|
9
9
|
spec.email = ['matthewdiverson@gmail.com']
|
|
10
|
-
spec.summary = 'LegionIO LLM
|
|
11
|
-
spec.description = '
|
|
10
|
+
spec.summary = 'LegionIO LLM MLX provider extension'
|
|
11
|
+
spec.description = 'MLX provider integration for the LegionIO LLM routing framework.'
|
|
12
12
|
spec.homepage = 'https://github.com/LegionIO/lex-llm-mlx'
|
|
13
13
|
spec.license = 'MIT'
|
|
14
14
|
spec.required_ruby_version = '>= 3.4'
|
|
@@ -23,9 +23,5 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
spec.files = `git ls-files -z`.split("\x0").reject { |file| file.match(%r{^(spec|test|features|tmp|coverage)/}) }
|
|
24
24
|
spec.require_paths = ['lib']
|
|
25
25
|
|
|
26
|
-
spec.add_dependency '
|
|
27
|
-
spec.add_dependency 'legion-json', '>= 1.0'
|
|
28
|
-
spec.add_dependency 'legion-logging', '>= 1.0'
|
|
29
|
-
spec.add_dependency 'legion-settings', '>= 1.3.14'
|
|
30
|
-
spec.add_dependency 'lex-llm', '>= 0.1.2'
|
|
26
|
+
spec.add_dependency 'lex-llm', '>= 0.1.3'
|
|
31
27
|
end
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require '
|
|
3
|
+
require 'legion/extensions/llm'
|
|
4
4
|
|
|
5
5
|
module Legion
|
|
6
6
|
module Extensions
|
|
7
7
|
module Llm
|
|
8
8
|
module Mlx
|
|
9
9
|
# MLX provider implementation for local OpenAI-compatible servers.
|
|
10
|
-
class Provider <
|
|
11
|
-
include
|
|
10
|
+
class Provider < Legion::Extensions::Llm::Provider
|
|
11
|
+
include Legion::Extensions::Llm::Provider::OpenAICompatible
|
|
12
12
|
|
|
13
13
|
class << self
|
|
14
14
|
def slug = 'mlx'
|
|
@@ -34,5 +34,5 @@ module Legion
|
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
Legion::Extensions::Llm::Provider.register(Legion::Extensions::Llm::Mlx::PROVIDER_FAMILY,
|
|
38
|
+
Legion::Extensions::Llm::Mlx::Provider)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lex-llm-mlx
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- LegionIO
|
|
@@ -9,77 +9,21 @@ bindir: bin
|
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
|
-
- !ruby/object:Gem::Dependency
|
|
13
|
-
name: faraday
|
|
14
|
-
requirement: !ruby/object:Gem::Requirement
|
|
15
|
-
requirements:
|
|
16
|
-
- - ">="
|
|
17
|
-
- !ruby/object:Gem::Version
|
|
18
|
-
version: '2.0'
|
|
19
|
-
type: :runtime
|
|
20
|
-
prerelease: false
|
|
21
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
-
requirements:
|
|
23
|
-
- - ">="
|
|
24
|
-
- !ruby/object:Gem::Version
|
|
25
|
-
version: '2.0'
|
|
26
|
-
- !ruby/object:Gem::Dependency
|
|
27
|
-
name: legion-json
|
|
28
|
-
requirement: !ruby/object:Gem::Requirement
|
|
29
|
-
requirements:
|
|
30
|
-
- - ">="
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: '1.0'
|
|
33
|
-
type: :runtime
|
|
34
|
-
prerelease: false
|
|
35
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
-
requirements:
|
|
37
|
-
- - ">="
|
|
38
|
-
- !ruby/object:Gem::Version
|
|
39
|
-
version: '1.0'
|
|
40
|
-
- !ruby/object:Gem::Dependency
|
|
41
|
-
name: legion-logging
|
|
42
|
-
requirement: !ruby/object:Gem::Requirement
|
|
43
|
-
requirements:
|
|
44
|
-
- - ">="
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: '1.0'
|
|
47
|
-
type: :runtime
|
|
48
|
-
prerelease: false
|
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
-
requirements:
|
|
51
|
-
- - ">="
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '1.0'
|
|
54
|
-
- !ruby/object:Gem::Dependency
|
|
55
|
-
name: legion-settings
|
|
56
|
-
requirement: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - ">="
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: 1.3.14
|
|
61
|
-
type: :runtime
|
|
62
|
-
prerelease: false
|
|
63
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - ">="
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: 1.3.14
|
|
68
12
|
- !ruby/object:Gem::Dependency
|
|
69
13
|
name: lex-llm
|
|
70
14
|
requirement: !ruby/object:Gem::Requirement
|
|
71
15
|
requirements:
|
|
72
16
|
- - ">="
|
|
73
17
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0.1.
|
|
18
|
+
version: 0.1.3
|
|
75
19
|
type: :runtime
|
|
76
20
|
prerelease: false
|
|
77
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
22
|
requirements:
|
|
79
23
|
- - ">="
|
|
80
24
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 0.1.
|
|
82
|
-
description:
|
|
25
|
+
version: 0.1.3
|
|
26
|
+
description: MLX provider integration for the LegionIO LLM routing framework.
|
|
83
27
|
email:
|
|
84
28
|
- matthewdiverson@gmail.com
|
|
85
29
|
executables: []
|
|
@@ -99,7 +43,6 @@ files:
|
|
|
99
43
|
- lib/legion/extensions/llm/mlx.rb
|
|
100
44
|
- lib/legion/extensions/llm/mlx/provider.rb
|
|
101
45
|
- lib/legion/extensions/llm/mlx/version.rb
|
|
102
|
-
- lib/lex_llm_mlx.rb
|
|
103
46
|
homepage: https://github.com/LegionIO/lex-llm-mlx
|
|
104
47
|
licenses:
|
|
105
48
|
- MIT
|
|
@@ -126,5 +69,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
126
69
|
requirements: []
|
|
127
70
|
rubygems_version: 3.6.9
|
|
128
71
|
specification_version: 4
|
|
129
|
-
summary: LegionIO LLM
|
|
72
|
+
summary: LegionIO LLM MLX provider extension
|
|
130
73
|
test_files: []
|
data/lib/lex_llm_mlx.rb
DELETED