LLaMA Node 详细介绍
LLaMA Node 是一个用于大型语言模型的 Node.js 库。该项目处于早期阶段,目前尚不适用于生产环境,API 可能会在未来发生变化,因此请谨慎使用。这一库的开发基础来源于多个开源项目,包括 llm (原 llama-rs)、llama.cpp 和 rwkv.cpp,并使用 napi-rs 进行 Node.js 与 LLaMA 线程之间消息的传递。
支持的模型
llama-node 支持多种语言模型,分别依赖于不同的后端:
-
llama.cpp 后端支持的模型(均采用 GGML 格式):
-
llm (llama-rs) 后端支持的模型(均采用 GGML 格式):
-
rwkv.cpp 后端支持的模型(均采用 GGML 格式):
支持的平台
LLaMA Node 支持以下操作系统平台:
- darwin-x64
- darwin-arm64
- linux-x64-gnu (glibc >= 2.31)
- linux-x64-musl
- win32-x64-msvc
需要 Node.js 的版本为 16 或更高。
安装
要开始使用 LLaMA Node,用户需要进行以下安装步骤:
-
安装 llama-node npm 包:
npm install llama-node
-
安装至少一个推理后端:
-
安装 llama.cpp
npm install @llama-node/llama-cpp
-
或者安装 llm
npm install @llama-node/core
-
或者安装 rwkv.cpp
npm install @llama-node/rwkv-cpp
-
手动编译
有关如何通过手动编译开始使用的更多信息,请查看我们的贡献指南。
CUDA 支持
有关 CUDA 支持相关的手动编译信息,请阅读我们网站上的文档以进行手动编译。
特别鸣谢
该库在 MIT/Apache-2.0 许可证下发布。然而,如果您希望重用此库的代码,我们强烈建议您引用我们的工作或我们的依赖工作的贡献。
模型/推理工具依赖
- LLaMA 模型:facebookresearch/llama
- RWKV 模型:BlinkDL/RWKV-LM
- llama.cpp:ggreganov/llama.cpp
- llm:rustformers/llm
- rwkv.cpp:saharNooby/rwkv.cpp
部分源码来源
- llama-cpp 绑定:sobelio/llm-chain
- rwkv logits 采样:KerfuffleV2/smolrsrwkv
社区
欢迎加入我们的 Discord 社区!点击加入 llama-node Discord。