onw

onw AMD — 俺のNPUがこんなに動くわけない(AMD Ryzen AI NPU 版)

日本語 | English ・ 更新履歴

LLM を AMD Ryzen AI の NPU(XDNA2)だけで 動かすアプリです。onw(Intel NPU 版)の UI と仕組み(タスクトレイ常駐、モデル管理ウィンドウ、OpenAI 互換 API、チャット画面、検証ページ、自動更新)はそのままに、 推論を NPU 専用エンジン FastFlowLM に置き換えました。FastFlowLM の取得・起動・中継の 仕組みは Lemonade Server から移植しています。

  • NPU で動かす機能だけです。CPU・GPU(iGPU)・NPU+GPU のハイブリッドでは動かしません。
  • NPU エンジンは FastFlowLM(flm v1.0.7、約 40 MB)だけで、初回に自動でダウンロードします。モデルは flm list に出る チャットモデル(Qwen3.5/3.6、Gemma 4、gpt-oss、Llama 3.x、Phi-4-mini、LFM2 など)です。

必要なもの

  • XDNA2 の NPU を持つ AMD Ryzen AI の PC(Ryzen AI 300 シリーズ〔Strix Point / Krackan Point〕、Ryzen AI Max〔Strix Halo〕以降)。 XDNA1(Ryzen 7040/8040 の Phoenix / Hawk Point)は FastFlowLM が対応していないため動きません。
  • NPU ドライバー(Windows:デバイスマネージャーに「NPU Compute Accelerator Device」が出ていること。 入れ方は Lemonade のドライバー案内)。onw は flm validate で確認します。
  • Windows 11、または Linux(amdxdna ドライバー)
  • 空き容量:FastFlowLM 約 40 MB + モデル 1〜22 GB

インストール

Windows(PowerShell に 1 行貼り付け)

irm https://huggingface.co/ryugyosoft/onwAMD/resolve/main/install.ps1 | iex

%LOCALAPPDATA%\onw-amd に入り、タスクトレイに onw のアイコンが出て、モデルを選ぶウィンドウが開きます。 フォルダを直接持っている場合は setup.bat を実行してください。

Linux

curl -fsSL https://huggingface.co/ryugyosoft/onwAMD/resolve/main/install.sh | bash

使い方

  1. onw ウィンドウの「モデル」タブで、上の「FastFlowLM」の「入れる」を押すとモデルの一覧が出ます。 使いたいモデルの「ダウンロード」を押します(FastFlowLM がまだなら、先に自動で入ります)。
  2. 「サーバー」タブでモデルを選んで「ロード」。状態が「動作中」になったら使えます(ロードは十数秒)。
  3. 「チャット」でブラウザのチャット画面、「検証ページ」で応答開始までの時間と生成速度をまとめて測れます。
  4. 他のアプリからは OpenAI 互換 API:base URL http://localhost:8010/v1、モデル名はウィンドウに表示される名前 (例 qwen3-it-4b-FLM)。

迷ったら qwen3-it-4b-FLM(3.1 GB、ツール呼び出し対応)、画像も読ませたいなら qwen3.5-4b-FLM(5.0 GB)。 テスト機(Ryzen AI 9 HX 370)では qwen3.5-0.8b で生成 約 44 tok/s、応答開始 約 0.5 秒でした。

  • 思考モード(reasoning のラベルがあるモデル):チャット画面の「思考モード」、API の chat_template_kwargs: {"enable_thinking": true} か reasoning_effort。思考は reasoning_content に分けて返します。

うまく動かないとき

「モデル」タブに FastFlowLM の NPU チェックの結果(理由)が出ます。それでも分からないときは診断スクリプトを実行し、 保存される onw-amd-diag.txt を送ってください(読み取りのみ。--try-model を付けると小さいモデルで実際に試します)。

curl -fsSL https://huggingface.co/ryugyosoft/onwAMD/resolve/main/diag.py | python3 - --try-model

Windows(PowerShell)は irm https://huggingface.co/ryugyosoft/onwAMD/resolve/main/diag.py | python - --try-model。

onw コマンド

onw serve MODEL [--port 8010] [--host 0.0.0.0] [--api-key KEY] [--context 4096] [--open]
onw tray                   # 常駐アプリ(setup が起動するもの)
onw window [--tab models]  # モデル管理・サーバー操作・設定のウィンドウ
onw list                   # この PC で動かせるモデル(* はダウンロード済み)
onw npu                    # NPU と FastFlowLM の状態(flm validate の結果も)

onw serve はモデルや FastFlowLM がなければ先にダウンロードします(コンソールで 1 回だけ動かすなら start.bat モデル名)。

サーバー

  • GET /(案内)、/health(モデルを読み終わると 200、読み込み中は 503)、/v1/models、 POST /v1/chat/completions(ストリーミング可)、POST /v1/completions、/chat、/check、/api/info
  • 既定のポートは 8010 です(Lemonade Server がよく使う 8000 とぶつからないように)。設定画面で変えられます。
  • CORS は開放済み。LAN に公開するときは API キー(--api-key または設定画面)で /v1 を保護できます。
  • 仕組みは Lemonade Server と同じです:flm serve を空いているローカルのポート(8001〜)で子プロセスとして起動し、 リクエストを転送します(model は FastFlowLM のチェックポイント名に書き換えます)。onw のサーバーが止まれば FastFlowLM も必ず止まり(Windows ではジョブオブジェクト)、FastFlowLM が止まれば onw のサーバーも止まってウィンドウに理由が出ます。

保存場所

もの 場所
設定・ログ %APPDATA%\onw-amd(Linux: ~/.config/onw-amd)
FastFlowLM %APPDATA%\onw-amd\bin\flm\npu
モデル 保存先フォルダ(既定 %APPDATA%\onw-amd\flm、ウィンドウで変更可)。FLM_MODEL_PATH として flm に渡します

構成

ファイル 内容
onw/lemonade.py Lemonade Server の FastFlowLM 経路の移植:XDNA2 の検出、FastFlowLM の取得(版は Lemonade の backend_versions.json と同じ)、flm validate / list / pull / remove、起動コマンド、準備完了の待ち合わせ
onw/server.py OpenAI 互換サーバー:FastFlowLM を起動して転送、思考モードの変換、チャット画面・検証ページ・API キー
onw/app.py、onw/manager.py、onw/dl.py 設定・モデル一覧・サーバープロセスの管理、ウィンドウの裏側(ローカル API)、ダウンロード(別プロセス)
onw/tray.py、onw/update.py、onw/i18n.py、onw/web/ トレイアイコン、自動更新、表示言語(日本語・英語・中国語)、画面

ライセンス

Powered by FastFlowLM

コードは Apache 2.0(onw と同じ)。onw/lemonade.py は Lemonade Server(Apache 2.0、AMD / lemonade-sdk)のコードを移植したものです。 FastFlowLM は onw には含まれず、実行時に公式のリリースからダウンロードされます(コードは MIT、NPU カーネルはソース非公開だが商用を含め無償)。 モデルはそれぞれのモデルのライセンスに従います。

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support