Janus:AMD・Intel・Nvidia の GPU で Vulkan を介して GGUF モデルを実行する Go バイナリ

2026/10/02 5:36

Janus:AMD・Intel・Nvidia の GPU で Vulkan を介して GGUF モデルを実行する Go バイナリ

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

Janus は、Python、Docker、Ollama を必要とせずに、ローカル LLM(.gguf ファイル)向けに OpenAI 互換 API を提供する軽量な単一の Go バイナリです。その主な強みには、再起動なしでのホットスワップモデル切替、Vulkan を通じた AMD、Intel、NVIDIA GPU の効率的活用(または CPU フォールバック)、環境変数の変更により OpenRouter などのクラウドプロバイダーへのリクエストルーティングが含まれます。本プロジェクトでは Go 1.22 以上のバージョンが必要です。Windows では

build.ps1
を使用し、Vulkan 対応の GPU が推奨されます。Linux/macOS には
go mod tidy
と
libllama.so
の手動セットアップが必要です。ディスク上での占有量は概ね 50 MB にモデルファイル自体(通常 2〜8 GB)を加えたものです。デフォルトでは、サーバーは http://127.0.0.1:8990 でリスニングし、
/health
、
/v1/chat/completions
、
/v1/models
のエンドポイントを提供します。主要な設定項目には
INFERENCE_BACKEND
(vulkan/cpu/openrouter)、
JANUS_MODEL_PATH
、
JANUS_MAX_TOKENS
(デフォルト 4096)があります。モデルを VRAM に読み込む必要があるため、初回応答には 10〜60 秒かかる場合があります。Q4 など小型のクエントはより高速にロードされます。Windows では再構築前に実行中の
.exe
が存在しないことを確認し、「Address already in use」エラーを防いでください。リポジトリ構造には、API の
cmd/janus/
、llama.cpp バックエンドの
internal/engine/
、.gguf ファイルを格納する
models/
があります。MIT ライセンスで公開されており、CONTRIBUTING.md を通じた貢献が歓迎されます。

本文

Janus:ローカル LLM サーバーと OpenAI 互換 API

Janus は、Go で構築された単一バイナリソフトウェアです。ご自身のマシン(GPU または CPU)上で

.gguf
フォーマットのモデルを動作させ、OpenAI 互換の API を提供します。

  • Python のインストール不要
  • Docker 不要
  • Ollama 不要

ご利用シーン

ご自身の環境に合わせた柔軟な利用が可能です。

  • コマンドライン活用:
    curl
    、PowerShell、スクリプトなどから直接呼び出し。
  • AI クライアント連携: Cursor や Cline など、任意の OpenAI クライアントと連携可能です。ローカルモデルを使用して、ワークフローに合わせて利用できます。

機能一覧

  • ローカル推論 —
    llama.cpp
    を経由し、Vulkan(AMD/Intel/NVIDIA GPU)または CPU フォールバックに対応。
  • OpenAI 互換 API —
    /v1/chat/completions
    および
    /v1/models
    エンドポイントを提供。
  • 動的モデル切替(ホットスワップ) — サーバー再起動なしで
    .gguf
    モデルを切り替え可能。
  • 思考プロセスモデル対応 —
    </think>
    の推論出力を
    reasoning_content
    として分離して対応。
  • チャットテンプレートの自動検出 — GGUF メタデータから自動的にテンプレートを選択。
  • ゼロ依存関係 — Windows では単一の
    .exe
    ファイルのみで動作。Python や Docker は不要。

要件環境

プラットフォーム必要なもの
Windows(推奨)Windows 10/11、Go 1.22 以降。Vulkan 対応 GPU が推奨されます。
LinuxGo 1.22 以降、Vulkan または CPU 環境が必要です。
macOSGo 1.22 以降、CPU バックエンドを使用(Vulkan はハードウェア依存)。
  • ディスク容量: モデルサイズ分に加え(通常 2~8 GB)、Janus および
    llama.dll
    に約 50 MB を確保する必要があります。

クイックスタート(Windows)

1. リポジトリのクローンとビルド

git clone https://github.com/Vibra-Ingenn/Janus.git
cd Janus
.\build.ps1
  • build.ps1
    は、事前ビルド済みの
    llama.cpp
    Vulkan DLL をダウンロードし、
    dist\janus.exe
    をコンパイルします。

2. モデルのダウンロード

.gguf
ファイルを
models\
フォルダに配置してください。付属ツールでダウンロードすることも可能です:

go build -o dist\modelget.exe .\cmd\modelget
.\dist\modelget.exe -repo meta-llama/Llama-3.2-3B-Instruct -file Llama-3.2-3B-Instruct-Q8_0.gguf -out .\models\

3. 設定

.env
ファイルを編集します:

INFERENCE_BACKEND=vulkan
JANUS_MODEL_PATH=./models/Llama-3.2-3B-Instruct-Q8_0.gguf
JANUS_MAX_TOKENS=4096

環境変数一覧:

変数デフォルト値意味
INFERENCE_BACKEND
vulkan
vulkan
、
cpu
、または
openrouter
JANUS_MODEL_PATH
(必須)
.gguf
ファイルへのパス
JANUS_GPU_LAYERS
-1
-1
: GPU 全層実行 /
0
: CPU 専用
JANUS_VRAM_CEILING_MB
9216VRAM 予算のヒント(MiB)
JANUS_MAX_TOKENS
4096応答あたりの最大トークン数
JANUS_LISTEN_ADDR
127.0.0.1:8990バインド先アドレス

4. サーバー起動と確認

ブラウザで

http://127.0.0.1:8990
が自動的に開かれます。

健康状態を確認するには:

curl http://127.0.0.1:8990/health

クイックスタート(Linux / macOS)

以下の手順でビルドします:

git clone https://github.com/Vibra-Ingenn/Janus.git
cd Janus
go mod tidy
go build -o dist/janus ./cmd/janus
cp .env.example .env
# 編集:JANUS_MODEL_PATH を設定、Vulkan 不可なら INFERENCE_BACKEND=cpu
./dist/janus

※注意: Linux 環境では、バイナリと同じディレクトリに

libllama.so
が存在するか、
LD_LIBRARY_PATH
に追加する必要があります。


OpenAI 互換 API の利用

チャットを送信

curl http://127.0.0.1:8990/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "local",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
  • ベース URL:
    http://127.0.0.1:8990/v1

エンドポイント一覧

メソッドパス説明
GET
/health
ライブ確認(
?deep=true
で詳細情報取得可)
GET
/v1/models
モデル一覧の表示
POST
/v1/chat/completions
チャット(ストリーミング対応)
POST
/models/load
モデルの動的切り替え
GET
/models/list
利用可能な
.gguf
ファイルリスト
GET
/engine/status
VRAM およびバックエンド情報の表示

ストリーミング機能

出力をストリームして受信する場合は

-d
パラメータに
stream: true
を追加します:

curl http://127.0.0.1:8990/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"local","stream":true,"messages":[{"role":"user","content":"Tell me a joke"}]}'

クライアント連携設定(Cursor / Cline など)

  • ベース URL:
    http://127.0.0.1:8990/v1
  • API キー: 空欄のまま使用可能です。

よくあるトラブルシューティング

問題原因解決策
"ビルドは成功だが、変更が反映されていない"Windows では Go が実行中の
.exe
を上書きできないため
タスクマネージャーですべての
janus.exe
を停止し、再度ビルドしてください。
"Address already in use"ポート 8990 が過去のプロセスで占有されているためタスクマネージャーからすべての
janus.exe
を終了してください。
サーバー起動はするがチャットできない
JANUS_MODEL_PATH
の設定が誤っているか、
models/
フォルダ内に
.gguf
ファイルがないため
.env
でパスを設定し、ファイルを
models/
フォルダに配置してください。
"local engine failed to start"
llama.dll
が不足しているか、GPU ドライバの問題があるため
.\build.ps1
を再実行するか、GPU ドライバを更新するか、
INFERENCE_BACKEND=cpu
に設定してください。
URL が見つからない (404 など)デフォルトは
http://127.0.0.1:8990
であり、8080 ではありません
ブラウザで 8990 ポートをブックマークしてください。
最初の返答に非常に時間がかかるモデルが VRAM に読み込まれている過程のため正常です10~60 秒待機してください。より小さい量化(Q4 など)を使用すると早くなります。

プロジェクト構成

  • cmd/janus/
    — メインサーバー(OpenAI 互換 API)
  • cmd/modelget/
    — Hugging Face モデルダウンロードツール
  • internal/engine/
    —
    llama.cpp
    Vulkan/CPU バックエンド
  • internal/bridge/
    — DLL ロADER と FFI 結合処理
  • internal/singleton/
    — 単一インスタンス保証
  • models/
    — ここに
    .gguf
    ファイルを配置してください(リポジトリへのコミット対象外)
  • dist/
    — ビルド後、
    janus.exe
    および
    llama.dll
    が格納されます

開発者向け情報

停止して再ビルドを行う場合:

Get-Process -Name "janus" -ErrorAction SilentlyContinue | Stop-Process -Force
go test ./...
go build -o dist\janus.exe .\cmd\janus
.\dist\janus.exe
  • シンプルな実行には
    .\run.ps1
    を使用。
  • 完全ビルド(llama DLL 含む)には
    .\build.ps1
    を使用。

コントリビュート歓迎 —

CONTRIBUTING.md
を参照してください。


ライセンス

MIT ライセンスです(

LICENSE
ファイルを参照)。

同じ日のほかのニュース

一覧に戻る →

2026/10/02 4:33

Pi 1.0

## 日本語翻訳: Pi 1.0 のリリースは、機能の急速な拡張よりも安定性を優先する点において、そのエージェントハネスにおける顕著な進化を表しています。すべての最新技術を即時に採用する代わりに、このバージョンでは既存のシステム制約に対して堅牢性が証明された後にのみ変更を統合することに焦点を当てています。この「強化された」アプローチにより、ソフトウェアは不必要な複雑性を持たずに簡潔かつ拡張可能であるように保たれます。新機能には、Model Context Protocol (MCP) へのネイティブ対応、Jev や画像モデルといった大型言語モデル以外との互換性、遅延ツールロード、会話中のシステムメッセージが含まれます。ユーザーエクスペリエンスの向上のために、インターフェースも新しいテーマとデフォルトのフルスクリーンモードで強化されました。何十万もの週次ユーザーからのフィードバックに基づき開発が進められた本プロジェクトは、MIT ライセンスの下でオープンソースとして存続しています。今後の展望として、実験的な「Pi Durable」パッケージでは、ミニマリズムを維持しながら長期的な AI タスクの管理機能を備えています。これにより、ユーザーは異なるプラットフォーム上で、より長期間にわたって基盤となる AI を自在に操作・制御することが可能になります。Pi 1.0 のインストールは `curl` または PowerShell コマンドによるものが利用でき、Pi Durable については `npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord` を実行する必要があります。両方とも pi.dev でドキュメントが提供され、github.com/earendil-works/pi にコードが公開されています。Codemode の機能には、Claude Opus、GPT、Jev などの特定モデルを使用してコミットのサマリーを記述するスクリプトや、自作拡張の記述などが含まれます。

2026/10/02 6:07

Web 開発教育の死

## Japanese Translation: 生成 AI は、エコシステムを破壊することで Web 開発者、教育者、出版社の経済的健全性を根底から覆している。Baldur Bjarnason や Axel Rauschamayer のような著者および出版社は収入が急落し、事業の閉鎖に追い込まれている。特に Rauschamayer は 2026 年に書籍からの収益がゼロとなり、AI クローラーが彼の作品を盗みながら広告収益を生み出さなかったため、コンテンツをオフラインに移すことを余儀なくされた。同様に、Web 開発者の教育者である Josh W. Comeau や Kyle Cook も、LLM がタスクを自動化し仕事を吸収したことで Comeau の収益は半分になり、Cook は深層技術チュートリアルから AI モデルに関する浅く簡単に制作される動画への視聴者のシフトにより半分もの視聴数を失ったと報告している。 この危機は財務面のみならず、Salma Alam-Naylor のような専門家の中で深刻なバーンアウトと不安を引き起こしており、彼女のスキルや共感力が業界で貶められたため、一般に露出の少ない低給の役割を受け入れた。この変化は高品質な教育を脅かしており、開発者は学習のためにエラーが発生しやすいチャットボートに頼る傾向が強まっている一方、Rachel Andrew は GenAI が主題領域の専門家と編集者の間の重要な関係性を損ない、生産性の負担を読者に押し付けるだけであり、根本原因を解決したり実際の効率を高めたりしていないと主張している。究極的には、現在のトレンドは真実の人間の協働よりも短期的利益を優先している。

2026/10/02 1:18

Clef:オープンソースの意思決定モデルと新しい強化学習ファインチューニングプラットフォーム

## Japanese Translation: Cloudflare は、Apache 2.0 ライセンスの下で Workers AI 上にホストされる 2 つの新しい決定モデル、Clef および Clef-flash を発売します。これらのモデルは、標準的な大規模言語モデル(LLM)がしばしば予測不可能なテキストを生成するのと鮮明な対比をなすように、低コストで一貫性があり、厳格に型付けされた構造化された出力を提供します。Qwen アーキテクチャに基づいて構築されており(Clef は Qwen3.8-27B、Clef-flash は Qwen3.5-9B)、画像分類のためにビジョンエンコーダーで強化され、非自己回帰的処理を利用して推論速度を高速化しています—Cloudflare の一般 LLM gpt-oss-120b と比較して、脅威インテリジェンスタスクにおいて 2 倍のレイテンシ削減を示しました。現在 Jev Decision Index ベンチマークで最高スコアを得ており(BFCL ケース exact ベンチマークで 98.47 のほぼ完璧なスコア)、Clef は他のモデルである Jev および Kev 9B を凌ぐような大きな性能向上を提供しています。両モデルとも 64k コンテキストウィンドウを備えており(Jev と比較して 32k)、データが保存されることも、トレーニングに使用されることもないというエンタープライズ対応の保証をサポートします。AI Gateway および Workers AI といった Cloudflare の既存インフラストラクチャを活用し、これらのツールはすでにドメイン分類およびサポートトラージングのための内部運用を動力付けています。このリリースは、Cloudflare の「エージェントクラウド」ミッションを実現するために高速分類器向けニッチ市場への戦略的参入を意味し、新しい強化学習製品および Forward-Deployed Engineer サービスを通じた微調整のためのさらなる機能を提供します。

Janus:AMD・Intel・Nvidia の GPU で Vulkan を介して GGUF モデルを実行する Go バイナリ | そっか~ニュース