hybridgroup/yzma
Go with your own intelligence - Write Go applications that directly integrate llama.cpp for local inference using hardware acceleration on Linux, macOS, Windows, & WebAssembly.
解決する課題
yzma は、Go 開発者が C コンパイラ(CGo)や外部モデルサーバーを必要とせずに、ローカル LLM および視覚言語モデル(VLM)推論をアプリケーションに直接統合する方法を提供します。デスクトップ OS やウェブブラウザを含む多様なプラットフォームで、高性能でハードウェアアクセラレーションされた AI モデルを実行するプロセスを簡素化します。
仕組み
このプロジェクトは llama.cpp の Go ラッパーとして機能し、purego および ffi パッケージを利用して同じプロセス内で llama.cpp ライブラリを呼び出します。これにより、アプリケーションは CGo を必要とせずにハードウェアアクセラレーション(CUDA、Metal、Vulkan、OpenVINO など)を活用できます。また、TinyGo を介して WebAssembly(WASM)もサポートし、CPU または WebGPU を使用してモデルをブラウザ内で完全に実行できます。
対象者
外部依存関係や C ベースのビルドチェーンを管理する複雑さなしに、複数のプラットフォーム(Linux、macOS、Windows、ブラウザ)で組み込みのローカル AI 機能(テキストおよびビジョン)を備えたアプリケーションを構築したい Go 開発者。
ハイライト
- CGo フリー統合:
puregoとffiを使用して、ビルド時に C コンパイラを不要にします。 - 幅広いハードウェアアクセラレーション:CUDA、Metal、OpenVINO、Vulkan、HIP、ROCm、SYCL をサポート。
- マルチモーダル機能:テキストベースの LLM と視覚言語モデル(VLM)の両方をサポート。
- ブラウザサポート:TinyGo を使用して WebAssembly と WebGPU を介してブラウザで実行。
- 直接プロセス実行:外部サーバーの必要性を排除し、低遅延と高性能を実現。
- C ライブラリ管理:プリビルドされた
llama.cppライブラリをダウンロードおよび検証する CLI ツールを含む。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch