node-llama-cpp
在本地机器上运行 AI 模型
提供预构建绑定,如果失败将使用 cmake 从源码构建✨ 新版!试用 3.0.0
版本测试版 ✨(包括:函数调用、自动聊天包装器检测、嵌入支持等)
功能
- 在本地机器上运行文本生成模型
- 支持 Metal 和 CUDA
- 提供预构建二进制文件,如果失败将从源码构建,且不依赖
node-gyp
或 Python - 使用聊天包装器与模型聊天
- 使用 CLI 与模型聊天,无需编写代码
- 与最新版本的
llama.cpp
保持同步。只需一个 CLI 命令即可下载并编译最新版本。 - 强制模型生成可解析的格式,如 JSON,甚至强制遵循特定的 JSON 模式
文档
安装
npm install --save node-llama-cpp
该软件包提供 macOS、Linux 和 Windows 的预构建二进制文件。
如果您的平台不支持预构建二进制文件,它将下载 llama.cpp
的最新版本并使用 cmake
从源码构建。
要禁用此行为,请将环境变量 NODE_LLAMA_CPP_SKIP_DOWNLOAD
设置为 true
。
使用方法
import {fileURLToPath} from "url";
import path from "path";
import {LlamaModel, LlamaContext, LlamaChatSession} from "node-llama-cpp";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const model = new LlamaModel({
modelPath: path.join(__dirname, "models", "codellama-13b.Q3_K_M.gguf")
});
const context = new LlamaContext({model});
const session = new LlamaChatSession({context});
const q1 = "你好,你怎么样?";
console.log("用户: " + q1);
const a1 = await session.prompt(q1);
console.log("AI: " + a1);
const q2 = "总结一下你刚才说的内容";
console.log("用户: " + q2);
const a2 = await session.prompt(q2);
console.log("AI: " + a2);
更多示例,请参阅 入门指南
贡献
要为 node-llama-cpp
做贡献,请阅读 贡献指南。
致谢
- llama.cpp: ggerganov/llama.cpp
如果你喜欢这个仓库,请点亮星标 ✨