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
  • プロジェクト
  • プロジェクト