Module: Legion::Extensions::Llm::Mlx::Provider::Capabilities
- Defined in:
- lib/legion/extensions/llm/mlx/provider.rb
Overview
Conservative capability predicates for local MLX OpenAI-compatible servers.
Class Method Summary collapse
- .chat?(model) ⇒ Boolean
- .critical_capabilities_for(model) ⇒ Object
- .embeddings?(model) ⇒ Boolean
- .functions?(model) ⇒ Boolean
- .model_id(model) ⇒ Object
- .streaming?(model) ⇒ Boolean
- .vision?(model) ⇒ Boolean
Class Method Details
.chat?(model) ⇒ Boolean
31 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 31 def chat?(model) = !(model) |
.critical_capabilities_for(model) ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 37 def critical_capabilities_for(model) [ ('streaming' if streaming?(model)), ('function_calling' if functions?(model)), ('vision' if vision?(model)), ('embeddings' if (model)) ].compact end |
.embeddings?(model) ⇒ Boolean
35 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 35 def (model) = model_id(model).match?(/embed|bge|e5|nomic/i) |
.functions?(model) ⇒ Boolean
34 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 34 def functions?(model) = chat?(model) |
.model_id(model) ⇒ Object
46 47 48 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 46 def model_id(model) model.respond_to?(:id) ? model.id.to_s : model.to_s end |
.streaming?(model) ⇒ Boolean
32 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 32 def streaming?(model) = chat?(model) |
.vision?(model) ⇒ Boolean
33 |
# File 'lib/legion/extensions/llm/mlx/provider.rb', line 33 def vision?(model) = model_id(model).match?(/vlm|vision|llava|pixtral|qwen.*vl/i) |