MLX-Knife 2.0 (mlxk2)
Copyright 2025 The BROKE team

This product includes software developed by The BROKE team.
Licensed under the Apache License, Version 2.0.

THIRD-PARTY DEPENDENCIES
========================

This product includes software developed by:

- MLX-LM (https://github.com/ml-explore/mlx-lm)
  Licensed under the MIT License

- MLX-VLM (https://github.com/Blaizzy/mlx-vlm)
  Licensed under the MIT License

- MLX Examples — BERT (https://github.com/ml-explore/mlx-examples)
  Licensed under the MIT License
  mlx-knife vendors a minimal BERT encoder, adapted from Apple's mlx-examples BERT, in
  mlxk2/core/encoders/bert.py. It powers `mlxk embed` for encoder embedders (bge/e5 =
  model_type: bert), which mlx-lm cannot load. See ADR-015 §Decision: Implementation Library.

- MLX-Audio (https://github.com/Blaizzy/mlx-audio)
  Licensed under the MIT License
  Note: mlx-audio depends on miniaudio (MIT License) for audio I/O. It decodes
  WAV, MP3 and FLAC in-process, with no system libraries and no additional
  installation. Container formats (M4A/AAC, Ogg/Opus, WebM) are decoded by
  invoking external ffmpeg and ffprobe executables as subprocesses, when the
  user has installed them and they are present on PATH. Neither is bundled with
  or linked into mlx-knife, and mlx-knife ships no ffmpeg code.

  mlx-knife bundles tiktoken vocabulary files (gpt2.tiktoken, multilingual.tiktoken)
  in mlxk2/assets/whisper/ from mlx-audio commit 9349644. They are read by the
  vendored Whisper tokenizer that bridges mlx-audio issue #645: upstream dropped
  the tiktoken path from its PyPI package, so mlx-knife carries both that tokenizer
  and the vocabularies it needs. Original files are from the OpenAI Whisper model,
  distributed by mlx-audio under the MIT License.
