ardanlabs/kronk
Go With Your Own Intelligence! Use Go for hardware accelerated local inference with llama.cpp, whisper.cpp, and stable-diffusion.cpp directly integrated into your Go applications. Kronk provides a high-level API and production ready model server.
Kronkとは?
Kronkは、Go言語用SDKおよびローカルモデルサーバーで、開発者がPythonや別のサーバースタックを必要とせずに、自分のマシン上でAIモデルを実行できるようにします。人気のネイティブ推論エンジン(llama.cpp、whisper.cpp、stable-diffusion.cppなど)と通信し、OpenAI互換のHTTP API(チャット、埋め込み、音声文字起こし、再ランキング、意思決定)と、Anthropic互換のメッセージエンドポイントを公開します。要するに、GoプログラムやHTTPクライアントに、テキスト生成、ビジョン、埋め込み、音声からテキストへの変換、さらには実験的な画像生成を、可能な場合はハードウェアアクセラレーションを使用してローカルで実行する方法を提供します。
誰が使うのか?
- Go開発者:Pythonランタイムを引き込まずに、LLMやマルチモーダル推論をサービスに直接埋め込みたい人。
- プライバシーバイデザインのAI製品を構築するチーム:モデルとデータをオンプレミスに保持する必要がある人。
- 実験者:RAG、エージェント、または意思決定ワークフローのプロトタイピングのために、OpenAI/Anthropic APIを模倣したクイックローカルサーバーを求めている人。
- 運用担当者:単一のバイナリを好み、コンテナ化でき、標準のGoツールで管理でき、GPU/Metal/Vulkanアクセラレーションを活用できる人。
主な機能(READMEから)
| 機能 | 詳細 |
|---|---|
| 統合Go SDK | テキスト生成、ストリーミング、ツール呼び出し、ビジョン、埋め込み、再ランキング、意思決定モデルクエリ、並行処理、インクリメンタルキャッシュのための関数。 |
| モデルサーバー | OpenAI互換(/v1/chat/completions、/v1/embeddingsなど)およびAnthropicメッセージAPIと互換性のあるHTTPエンドポイント。意思決定モデル用のカスタム/v1/systemoneおよび/v1/decideもあり。 |
| ハードウェアアクセラレーション | ネイティブライブラリを使用:llama.cpp(CPU/GPU)、yzma、whisper.cpp、stable-diffusion.cpp。Linux、macOS、WindowsでCUDA、Vulkan、ROCm、Metal、CPUのみのパスをサポート。 |
| Bucky | whisper.cpp上に構築された音声からテキストへのモジュールで、文字起こし、翻訳、ダイアライゼーション、ライブストリーミングを提供。 |
| Malina(実験的) | stable-diffusion.cpp上の画像生成SDKで、ControlNet、ADetailer、AnimateDiff、アップスケーリング、ビデオ生成を備える。まだサーバーの一部ではない。 |
| ブラウザUI | モデル管理、テスト、監視のためのローカルWeb UI(http://localhost:11435)。 |
| 可観測性とセキュリティ | 組み込みの認証、レート制限、メトリクス、トレーシング、OpenWebUI、OpenCode、Claude Codeの統合フック。 |
| 簡単インストール | Homebrewフォーミュラ、go install CLI、またはDockerコンテナ。互換性のあるネイティブライブラリとモデルファイルの自動ダウンロード。 |
| クロスプラットフォーム | Linux(amd64/arm64)、macOS(amd64/arm64)、Windows(amd64/arm64)で、適切なGPUバックエンドをサポート。 |
始め方(クイックスタート手順)
- インストール – macOS/Linuxで
brew install ardanlabs/kronk/kronkを実行(またはgo install github.com/ardanlabs/kronk/cmd/kronk@latest)。 - サーバーを起動 –
kronk server start。 - UIを開く –
http://localhost:11435に移動して、モデルをアップロード/ダウンロードし、エンドポイントをテスト。 - 例を実行 – 例:
make example-questionでローカルLLMに質問するか、make example-buckyで音声を文字起こし。 - 統合 – Go SDK(
import "github.com/ardanlabs/kronk")を使用するか、任意のクライアントからOpenAI互換のREST APIを呼び出します。
AIエコシステムにおける位置づけ
- クラウドLLM APIのローカル代替 – OpenAI/Anthropicと同じリクエスト形式を提供しますが、オンプレミスで実行されるため、完全なデータ制御が可能で、外部サービスへのレイテンシーがなくなります。
- Goとネイティブ推論の橋渡し – Go開発者はggmlベースのエンジンに簡単にアクセスできないことがよくあります。Kronkは、これらのC/C++ライブラリを慣用的なGo関数の背後にラップします。
- モジュラーアーキテクチャ – 個別のサブシステム(テキスト/ビジョン用のYzma、オーディオ用のBucky、画像用のMalina)は、独立してまたは一緒に使用でき、現代のAIのマルチモーダルトレンドを反映しています。
- RAGとエージェントをサポート – チャット、埋め込み、再ランキング、意思決定エンドポイントにより、開発者は完全にGoでRetrieval-Augmented Generationパイプラインや自律エージェントを構築できます。
成熟度とコミュニティ
- プロジェクトはアップストリームのggmlリリースに従います。破壊的な変更は
BREAKING_CHANGES.mdに文書化されています。 - リリースはバージョン管理され(例:1.32.9)、互換性のあるライブラリピンの表があります。
- GitHub IssuesとBill Kennedy(Ardan Labs)への直接連絡によるアクティブなサポート。
- 「Travel Schedule」に記載されている頻繁なワークショップと講演は、継続的なコミュニティエンゲージメントを示しています。
上記のすべての情報は、リポジトリのREADMEから直接取得したものです。外部の仮定は追加されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト