mybigday/llama.rn

React Native binding of llama.cpp

看起來你剛剛貼上了一大段 llama.rn 的 README – 從基本用法、推測解碼、多模態支援、工具呼叫、語法取樣、平行解碼、會話處理,到嵌入(embedding)等所有內容都有涵蓋。

如果你對這些功能中的任何一項有具體問題(例如,如何啟用 MTP 推測解碼、如何向多模態模型傳入影像、如何使用平行槽 API 等),或需要快速範例或說明,請隨時告訴我,我樂意協助!

否則,這裡是一個非常簡短的 TL;DR:

  • 初始化:使用 await initLlama({model, n_ctx, n_gpu_layers, …})
  • 多模態:呼叫 await context.initMultimodal({path: mmprojPath, use_gpu:true}),然後傳送包含 image_urlinput_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')

告訴我你想要深入探討什麼吧!

相關