(rontolisp) docs
← 関数

safetensors パッケージの関数

safetensors パッケージは Hugging Face のモデルページが持つファイル -- model.safetensors、またはシャード分割された model.safetensors.index.json -- を、 Python も変換ステップもなしに、パックされた浮動小数点配列に読み込みます。 checkpoint ステージングパッケージ、 rontolisp:json-parse、バイトストリームのプリミティブの上に rontolisp 自身で書かれ、geom と同じように最初の使用時に読み込まれ、ファイルシステムのあるすべ てのバックエンドで動きます。Common Lisp の一部ではありません。名前は safetensors: 修飾子で参照します -- safetensors:read はこのパッケージ自身のシンボ ルであって cl:read ではありません。

形式: リトルエンディアンの u64 ヘッダ長、その長さの JSON -- { "<name>": { "dtype": "BF16", "shape": [rows, cols], "data_offsets": [begin, end] }, ..., "__metadata__": { ... } } -- に続いて、ヘッダ末尾からのオフセットにテン ソルのバイト列が行優先で並びます。F32、F16、BF16 のテンソルを読み、それ以外の dtype はテンソル名を挙げたエラーになります。ファイルは先頭から順に歩き(ストリームは位置を 変えられません)、:only 述語が除外したテンソルはステージングせずに読み飛ばすので、 マルチモーダルなチェックポイントの視覚タワーは I/O のコストだけを払います。 examples/llm/llm.lisp は TinyLlama、Qwen3.5、LFM2.5 のチェックポイントをこれで 読みます。

関数例結果
safetensors:read(safetensors:read "TinyLlama-1.1B-Chat-v1.0")テンソル名 -> パックされた浮動小数点配列のハッシュテーブル
safetensors:header(safetensors:header "model.safetensors")パースされた JSON ヘッダと、データの開始オフセット
safetensors:entries(safetensors:entries header)テンソル情報の (name dtype shape begin end) リスト、ファイル順