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 も含まれています。

対象者

llama.cpp の複雑な C++ ビルドプロセスを管理したくない、またはクラウドベースの AI サービスに依存したくない、ローカル LLM をアプリに組み込みたい Node.js と TypeScript の開発者向けです。

ハイライト

  • ハードウェアアクセラレーション:Metal、CUDA、Vulkan をネイティブにサポートし、ローカル推論を高速化。
  • 構造化出力:JSON 応答を強制したり、特定の JSON スキーマに従わせることが可能。
  • エージェント機能:関数呼び出しをサポートし、モデルが外部ツールと連携できるようにします。
  • 開発者体験:完全な TypeScript サポートと、macOS、Linux、Windows 用の事前ビルドバイナリを提供。
  • 高度な機能:埋め込みベクトルと再ランク付けのサポートを含む。
  • セキュリティ:特殊トークン注入攻撃から保護。