llama.cppプロジェクトはバージョンb9979をリリースしました。これには、メッセージに埋め込みNULバイトが含まれている場合のプロンプトの黙示的切り捨てに対する修正が含まれています。以前は、`mtmd_input_text`関数が長さ情報なしでプロンプトを裸のポインタとして扱っていたため、NULバイトの後のコンテンツが黙ってドロップされていました。

  • この修正により、`mtmd_input_text`に明示的な`text_len`パラメータが追加され、完全なプロンプトが正しく渡されるようになりました。
  • この変更は、`llama_tokenize`およびテキスト専用パスが入力長を処理する方法と一致しています。
  • macOS(Apple SiliconおよびIntel)、iOS、Linux(CPU、Vulkan、ROCm、OpenVINO、SYCL)、Android、Windows(CPU、OpenCL、CUDA 12/13、Vulkan、OpenVINO、SYCL、HIP)、openEuler用のバイナリが利用可能です。

この更新により、NUL文字を含むプロンプトでのデータ損失を防ぎ、すべてのサポートされているプラットフォームで完全なメッセージ処理が保証されます。