withcatai/node-llama-cpp

Run AI models locally on your machine with node.js bindings for llama.cpp. Enforce a JSON schema on the model output on the generation level

它解決了什麼

它提供了一種在本機使用 Node.js 執行大型語言模型(LLM)的方式,免除繁雜的設定或外部 API。透過預建二進位檔與自動硬體加速,簡化了 AI 模型在 JavaScript/TypeScript 專案中的整合。

它如何運作

此專案充當 llama.cpp 的綁定套件,讓 Node.js 開發者能載入並執行 GGUF 格式的模型。它會自動偵測並使用可用的硬體加速(Metal、CUDA、Vulkan)以提升效能,亦提供 CLI 讓使用者可即時與模型互動,無需撰寫程式碼。

適用對象

想在應用程式中整合本機 LLM、且不想處理 llama.cpp 複雜 C++ 建置流程或依賴雲端 AI 服務的 Node.js 與 TypeScript 開發者。

重點特色

  • 硬體加速:原生支援 Metal、CUDA 與 Vulkan,提升本機推論速度。
  • 結構化輸出:可強制回傳 JSON 回應或遵循特定 JSON schema。
  • 代理功能:支援函式呼叫,讓模型能與外部工具互動。
  • 開發者體驗:完整的 TypeScript 支援,並提供 macOS、Linux、Windows 的預建二進位檔。
  • 進階功能:包含嵌入向量與重新排序支援。
  • 安全性:防止特殊 token 注入攻擊。