
- ノード接続でAIパイプラインを構築、途中結果も可視化
- 各出力がRESTエンドポイントとして自動公開される
- Inference Providersや既存Space、GPUモデルもノード化可能
gr.Workflowとは
gr.Workflowは、Gradioに標準で組み込まれた新機能で、AI処理の流れをグラフ構造で定義します。ノードを接続して処理のパイプラインを作ると、それがそのままドラッグ&ドロップで操作できるキャンバスとして表示されます。各ノードは単独で実行でき、途中結果もその場で確認できます。
このグラフは、そのままREST APIとしても機能し、Hugging Face Spacesへのデプロイもコマンド一つで完了します。パイプラインそのものがUIとAPIを兼ねるという設計です。
3種類のノードで構成
ワークフローは「参照(入力)」「オペレーター(処理)」「サブジェクト(出力)」の3種類のノードで構成されます。オペレーターには、自分で書いたPython関数、Hugging Face Inference Providers上のモデル、別のGradio Space、Hubデータセットの行を指定できます。
ノード同士は型付きのポートをドラッグして接続します。実行すると、各ノードの結果がその場に表示されるため、処理全体の流れを視覚的に追えるのが利点です。GPUを使う処理では、関数に@spaces.GPUを付けると、ZeroGPUが必要な間だけGPUを確保する仕組みも用意されています。
実際のユースケース
記事では5つのデモが紹介されています。画像編集パイプラインは、アップロードした画像に自然言語で指示を出すと、Qwen-Image-Editが編集結果を返します。AIメディアスタジオは、プロンプトからFLUXで画像を生成し、背景除去、音声合成、タイトル生成を一つのグラフで実行します。
並列生成の例では、一つのアイデアからFLUXによるベース画像、水彩調やサイバーパンク調のリミックス、LLMによるタイトルを同時に生成します。データセット分析では、指定したデータセットIDを4つのノードに分岐させ、各指標を並行して計算します。
APIとして利用する
gr.Workflowで作成したグラフは、出力ごとにRESTエンドポイントが自動生成されます。Pythonからはgradio_clientを使って呼び出せます。モデルやSpaceを呼び出すエンドポイントではHugging Faceのトークンが必要です。
curlでの直接アクセスも可能です。例えば、'https://.../gradio_api/call/word_count' にJSONをPOSTするだけで結果が得られます。UIを開かずに外部システムから呼び出せるため、既存のアプリケーションへの組み込みが容易になります。
今後の展開と注意点
現時点で利用できるオペレーターは、Python関数、Inference Providersのモデル、別のGradio Space、Hubデータセットの行に限られます。大規模な本番運用でどの程度の性能やエラー処理ができるかは、まだ十分に示されていません。
一方で、記事は次回の投稿でAUTOMATIC1111のような複雑なUIをgr.Workflowで構築する手順を公開するとしています。より複雑なワークフローの事例が増えれば、実運用への適用可能性が見えてくるでしょう。
| 種類 | 説明 |
|---|---|
| Python関数 | 任意の処理を実行する |
| Inference Providersモデル | ホストされたAIモデルを呼び出す |
| Gradio Space | 別のGradioアプリを呼び出す |
| Hubデータセット行 | データセットから行を取得する |
gr.Workflow, built right into Gradio, makes the pipeline the interface.
Gradioに組み込まれたgr.Workflowは、パイプラインそのものをインターフェースにします。
今後の見通し
gr.Workflowはまだ登場したばかりで、実運用でのベストプラクティスはこれから蓄積される段階です。次回のAUTOMATIC1111構築のチュートリアルが公開されると、複雑なUIをどのようにグラフで表現するかが具体化し、適用範囲の判断材料になるとみられます。また、複数のノードを並列実行したときのパフォーマンスや、エラーハンドリングの挙動が明らかになれば、本番システムへの採用を検討できるようになるでしょう。
日本の開発者・IT企業にとっての意味
日本のIT企業にとって、gr.WorkflowはAI機能を備えた社内ツールや顧客向けデモを素早く構築する手段になります。ノードを繋ぐだけでUIとAPIが同時に得られるため、要件定義から試作までを短時間で済ませられる可能性があります。また、既存のGradio SpaceやHugging Faceのモデルを部品として再利用できるため、一から実装するコストを抑えられます。APIが自動生成される点は、外部システムとの連携やモバイルアプリのバックエンドとしても使いやすく、PoC後の本番組み込みへの橋渡しになるでしょう。ただし、現時点では大規模な本番負荷への耐性やエラー処理の詳細が不明なため、採用を判断するには追加の情報が必要です。
気になる点
- 既存のGradioアプリをgr.Workflowに組み込めますか?
- 記事では、任意のGradio Spaceをノードとして呼び出す方法が紹介されています。ただし、既存アプリをワークフロー内に統合する具体的な移行手順は明示されておらず、現時点ではデモを複製してノードを組み替える方法が推奨されています。
- REST APIを呼び出す際の認証はどうすればよいですか?
- モデルやSpaceを呼び出すエンドポイントではHugging Faceのトークンが必要です。gradio_clientを使う場合は、Clientを作成する際にtoken="hf_..."を渡します。curlの場合は、ヘッダーにトークンを付与してリクエストします。
- ノードの実行順序はどうやって決まりますか?
- ノード同士をポートで接続した順序に従って実行されます。グラフ上でドラッグして接続すれば、その依存関係がそのまま実行順序になります。並列実行できる部分は自動的に並列処理されます。
用語解説
- Gradio
- 機械学習モデルのデモやアプリを素早く構築できるPythonライブラリ。
- gr.Workflow
- Gradioに組み込まれた、パイプラインをグラフで構築する仕組み。
- Hugging Face Spaces
- モデルやアプリを公開・共有できるクラウドホスティングサービス。
- Inference Providers
- Hugging Faceが提供する、ホストされたモデル推論API。
- REST API
- HTTP経由で機能を呼び出すためのAPI設計。
出典
Wire It, Run It, Deploy It: AI Workflows in Gradio
AI導入も顧問も、お任せください
何から手をつけるか、どこまでAIに任せるか。自社の業務に合わせて整理し、導入から運用まで伴走します。相談だけでも構いません。
AI導入について相談する