go-skynet/go-llama.cpp
LLama.cpp golang bindings
何を解決するか
このプロジェクトは llama.cpp 用の Go (Golang) バインディングを提供し、C++ コードを書く必要なく、Go アプリケーションに大規模言語モデル (LLM) 推論機能を直接統合できるようにします。
動作方法
llama.cpp ライブラリの高レベルラッパーとして機能します。Go から C 関数を呼び出す際のオーバーヘッド (CGO) を回避し、パフォーマンスを維持するために、計算の大部分を C/C++ コードで保持しつつ、開発者が使いやすい簡素な Go インターフェースを提供しています。
対象ユーザー
gguf ファイル形式を使用してローカルで LLM を実行し、ハードウェアアクセラレーションを活用したい Go 開発者。
特徴
- ハードウェアアクセラレーション: OpenBLAS、CuBLAS (NVIDIA)、ROCM (AMD)、OpenCL、Metal (Apple Silicon) など複数のバックエンドをサポート。
- GGUF 対応: 新しい
ggufモデル形式と完全互換。 - 高レベルインターフェース: CGO ブリッジの計算コストを最小限に抑えつつ、使いやすさを重視した設計。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト