After debugging embedding differences between Chroma clients, I identified that MLX embeddings differ slightly due to a decoding issue: ml-explore/mlx-swift-examples#427
Root Cause:
MLXEmbedder uses no pooling strategy
- JavaScript client uses mean pooling
Impact: Swift-generated embeddings differ from JS client embeddings, causing unexpected query behavior when using JS clients.
Note: No action required for this codebase. Documenting here in case others encounter the same issue.
Tracking: ml-explore/mlx-swift-examples#427