项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2200
技术标签
使用教程
环境要求
- Node.js 环境(需能使用 npm / npx)
- 支持 macOS、Linux 或 Windows 系统
- 模型需为 GGUF 格式文件
- 若平台无预编译二进制,需要 cmake 以便从源码构建(不需要 node-gyp 或 Python)
安装与启动步骤
-
1免安装试用
不写任何代码,直接在终端用 npx 启动内置 CLI 与模型对话,适合先验证环境是否可用。首次执行会联网拉取包。
npx -y node-llama-cpp chat -
2安装依赖包
在项目目录中把 node-llama-cpp 安装为依赖。包内自带 macOS、Linux、Windows 的预编译二进制。
npm install node-llama-cpp -
3准备 GGUF 模型
在项目下建 models 目录并放入 GGUF 模型文件。README 示例使用的是 Meta-Llama-3.1-8B-Instruct.Q4_K_M.gguf,路径需与代码一致。
-
4编写调用脚本
创建入口文件,用 getLlama 加载模型、创建上下文与 LlamaChatSession,再调用 session.prompt 提问。
import {fileURLToPath} from "url"; import path from "path"; import {getLlama, LlamaChatSession} from "node-llama-cpp"; const __dirname = path.dirname(fileURLToPath(import.meta.url)); const llama = await getLlama(); const model = await llama.loadModel({ modelPath: path.join(__dirname, "models", "Meta-Llama-3.1-8B-Instruct.Q4_K_M.gguf") }); const context = await model.createContext(); const session = new LlamaChatSession({ contextSequence: context.getSequence() }); const q1 = "Hi there, how are you?"; console.log("User: " + q1); const a1 = await session.prompt(q1); console.log("AI: " + a1); const q2 = "Summarize what you said"; console.log("User: " + q2); const a2 = await session.prompt(q2); console.log("AI: " + a2); -
5运行脚本验证
用 Node.js 执行你的入口文件,终端会先打印用户提问、再打印模型回答;首次加载模型会稍慢。
node index.js
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
NODE_LLAMA_CPP_SKIP_DOWNLOAD | 否 | 设为 true 时禁止自动下载 llama.cpp release 并从源码构建 | true |
modelPath | 是 | loadModel 时的 GGUF 模型文件完整路径 | ./models/Meta-Llama-3.1-8B-Instruct.Q4_K_M.gguf |
如何确认成功
执行 npx -y node-llama-cpp chat 能进入终端对话,或脚本成功打印出 AI 的回复内容。
常见问题
Q:我的平台没有预编译二进制怎么办?
A:会自动回退:下载 llama.cpp 的 release 并用 cmake 从源码构建,此过程不需要 node-gyp 或 Python。若想禁用该行为,把环境变量 NODE_LLAMA_CPP_SKIP_DOWNLOAD 设为 true。
Q:需要手动配置 GPU 吗?
A:不需要。库会自动适配你的硬件,支持 Metal、CUDA 和 Vulkan 加速。
Q:必须安装 Python 或 node-gyp 吗?
A:不必须。README 明确说明回退到源码构建时也不需要 node-gyp 或 Python。
Q:模型文件从哪里获取?
A:README 示例使用 models 目录下的 Meta-Llama-3.1-8B-Instruct.Q4_K_M.gguf,但未给出下载地址,需自行准备 GGUF 格式模型并保持路径一致。
注意事项
- 模型必须是 GGUF 格式,示例路径为 models/Meta-Llama-3.1-8B-Instruct.Q4_K_M.gguf。
- 示例代码使用 ESM 的 import 语法,node-llama-cpp 为 TypeScript 编写的库,提供类型安全 API。
- CLI 还支持更新 llama.cpp:用单条 CLI 命令下载并编译最新 release(详见官方构建文档)。
核心亮点
- 生成时强制 JSON Schema,保证输出结构合法,省去解析重试
- 基于 llama.cpp,推理性能接近原生 C++,且支持 GPU 加速
- 安装简单,自动下载预编译二进制,无需手动编译 C++ 依赖
不足之处
- 仅支持 Node.js 环境,无法在浏览器或 Deno 中使用
- 模型加载后占用内存较高,且大模型首次加载耗时较长
- 文档/社区待观察
适用场景
- 在 Node.js 后端服务中集成本地 AI 助手,避免外部 API 依赖
- 需要结构化输出的场景,如从文本抽取信息并生成 JSON 数据
- 离线或内网环境下的文本生成应用,如本地知识库问答
替代项目
llama-node、llamaindex-js、transformers.js
上一篇:pgvecto.rs
下一篇:beelzebub
同类项目推荐
Uncensored-Local-Studio
开源
零配置本地运行无审查 AI,图像、对话、语音一站式搞定
Portable local AI studio for Windows, Linux, and macOS. Zero-setup GUI for Image Gen···
MegaParse
开源
解析文档零丢失,直接喂给大模型
File Parser optimised for LLM Ingestion with no loss Parse PDFs, Docx, PPTx in a fo···
awesome-agent-apis
开源
一站式查找660+AI代理API,按能力快速筛选集成
660+ muapi-hosted generative-media models plus community-submitted third-party API t···
gateway
开源
给大模型装个防火墙,安全可控地接入 AI 应用
The Open Source Firewall for LLMs. A self-hosted gateway to secure and control AI ap···
VectorRAG.Net
开源
在 .NET 中快速实现语义搜索和 RAG,无需外部向量数据库。
VectorRAG.Net is a .NET-native high-performance vector database library for semantic···
last9-mcp-server
开源
让AI助手看懂系统监控,用自然语言排查故障
Last9 MCP Server
tokenmaxxing
开源
同步你的 token 用量,让团队消耗一目了然
A local CLI, built on ccusage, that syncs your token usage with everyone else.
agent-vibes
开源
让 Claude Code 和 Cursor 免费接入更多 AI 后端
Unified Agent Gateway — Enables Claude Code CLI and Cursor IDE to use free AI backe···
Orion
开源
在苹果 ANE 上直接跑小 LLM,离线微调不联网
Local AI runtime for training & running small LLMs directly on Apple Neural Engine (···
