mybigday/llama.rn
React Native binding of llama.cpp
llama.rn の README の大幅な部分を貼り付けたようですね** – 基本的な使い方、推測的デコード、マルチモーダル対応、ツール呼び出し、文法サンプリング、並列デコード、セッション処理、埋め込みまで、すべてをカバーしています。
これらの機能のいずれかについて具体的な質問がある場合(例:MTP推測的デコードを有効にする方法、マルチモーダルモデルに画像を渡す方法、並列スロットAPIの使用方法など)や、簡単な例や説明が必要な場合は、いつでも教えてください。お手伝いします!
それ以外の場合、非常に短いTL;DRです:
- 初期化:
await initLlama({model, n_ctx, n_gpu_layers, …})で行います。 - マルチモーダル:
await context.initMultimodal({path: mmprojPath, use_gpu:true})を呼び出し、その後image_urlまたはinput_audioオブジェクトを含むメッセージを送信します。 - 推測的デコード(MTP):初期化時または各コンプリーションで
speculative: {type:'draft-mtp', n_max:3}を指定して有効化;speculative:falseで無効化。 - ツール呼び出し:
tools配列とtool_choice:'auto'を提供;モデルが関数を呼び出すと判断した場合、結果にtool_callsが含まれます。 - 文法 / JSONスキーマ:
grammarにGBNF文字列を渡す(またはresponse_formatにJSONスキーマを含める)ことで、構造化出力を強制します。 - 並列デコード:
await context.parallel.enable({n_parallel:4, n_batch:512})で有効化し、context.parallel.completion(...)をスロットベースの並列リクエストに使用します。 - セッション:
await context.saveSession(path)/await context.loadSession(path)でKVキャッシュ状態をキャッシュします。 - 埋め込み:初期化時に
embedding:trueを設定し、await context.embedding('text')を呼び出します。
何に詳しく知りたいか教えてください!
関連
- Dispatch
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト