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')

告诉我你想要深入探讨什么吧!

相关