* Add tie_word_embeddings option and update model call logic in Mixtral and Qwen3 models
* Update copyright year to 2026 and modify input handling in Mixtral and Qwen3 models
* Add GLM4 MoE DSA model implementation with configurable parameters
* Update Acknowledgments to include GLM4 MoE DSA support
* format
* update ackn.
* Fixes
* Update acknowledgments to include contributions for GLM MoE DSA and additional architectures
* use dsv32 for glm5
* fix
* Fix rope theta
---------
Co-authored-by: Tarjei Mandt <kernelpool@gmail.com>
Co-authored-by: Awni Hannun <awni@apple.com>
* fix: handle glm47 tool call fallbacks
- add JSON/plain-text fallback parsing for GLM 4.7 tool calls
- normalize fallback argument values using tool schema
- add tests covering JSON/plain-text fallback paths
- Refs: n/a (pebbles not initialized)
Regeneration-Prompt: |
Fix GLM 4.7 tool parser crash when the <arg_key> regex does not match. Keep the
existing arg_key/arg_value parsing path intact, but add defensive fallbacks:
first try JSON tool-call shapes (name+arguments, function+arguments, or nested
tool objects), then a plain-text form like "name {json}" or "name key=value".
If none parse, return a safe unknown tool with raw text in arguments. Use tool
schema types to preserve string arguments and deserialize non-string values.
Add tests in tests/test_tool_parsing.py that reproduce the crash with JSON
input and verify the plain-text fallback behavior. Avoid dependency changes.
* simplify test
* rebase
---------
Co-authored-by: Awni Hannun <awni@apple.com>
* server: support chat_template_kwargs and top_logprobs
* Adds support for clients sending "chat_template_kwargs",
matching other open source LLM servers.
This is gated behind `--trust-client-kwargs` because transformers
does not provide any safe way to do this.
* changes the server's logprobs response to better match the OpenAI
chat api & other open source servers.
* server: fix response when handling exceptions
* server: --client-chat-template-args whitelist
* simplify
* comment
---------
Co-authored-by: Awni Hannun <awni@apple.com>
* Fix for Exception - MultiLinear.to_quantized() missing 'mode'
Add mode parameter to mixed_quant_predicate_builder as MLX now requires mode to be specified for nn.quantize class_predicate
* nit
---------
Co-authored-by: Awni Hannun <awni@apple.com>
HuggingFace's NemotronH config uses separate `time_step_min` and
`time_step_max` fields, but mlx-lm expected a `time_step_limit` tuple.
This caused loading failures since `time_step_limit` was required but
never populated from the config.
- Make `time_step_limit` optional with default None
- Add `time_step_min` and `time_step_max` optional fields
- Add `__post_init__` to construct tuple from separate fields