😮‍💨

GradioのUI起動時のエラーと対処方法

に公開

概要

  • GradioのUI起動時のエラーを解消した話
  • .launchがそもそも動かない場合はfastapi=0.112.2をインストール
  • 共有リンクが作れない場合はfrpc_darwin_arm64_v0.3frpc_linux_amd64_v0.3のファイルの実行権限を確認

想定読者

Gradioを少し使ったことがある人向けの記事です

GradioとはAIのテスト画面を簡単に作成・公開するためのフレームワーク。具体的には以下のようなユースケースに使われるものです

  • AIのテスト結果を見やすくする
  • 作ったAIを色々な人に使ってもらいたい

例えば以下のようなチャット画面や入力画面が簡単に作成・共有できます

Gradioの基本的な利用方法は以下のような記事をご覧ください

https://zenn.dev/ohke/articles/9ce51323c44f80

執筆背景

マルチAIエージェントのデモ開発のためにGradioを利用することがありました。以下の構成をイメージしてCursorで開発を実施

  • UI: GradioのチャットUI
  • 裏側の処理: LangGraph

結果、Gradio周りでちょこちょこエラーが出て悩まされました。Cursorにエラーの内容を伝えても解消されず、日本語の記事を探しても解消方法が見つからず、仕方ないので海外記事を見つつ手でコードを直すことに

せっかくなので、そこで学んだことを日本語の記事に残すことにしました

Gradioを使って出たエラーと対処方法

以下がGradioを使う中で出たエラーとその対処方法です。両方とも日本の技術記事にはあまり載っていないエラーで、頑張ってGitHubのIssueなどを調べてようやく解決できました

1. connection errored outのエラー

まず発生したのはプロトタイプを起動させる.launch()connection errored outが発生するエラー。このせいでGradioのUIが全く起動せずでした

解決策はfastapi=0.112.2のインストール。fastapiのバージョンによっては上記のエラーが発生するようです。参照したのは以下の記事

https://discuss.huggingface.co/t/new-gradio-space-connection-errored-out/105509

2. 共有リンクが作れないエラー

次は共有リンク作成時のエラー。Gradioには人にもプロトタイプを使ってもらえるよう、共有リンクを作成する機能があります。このリンクを簡単に作成できるのもGradioの売りなのですが、その際にCould not create share linkというエラーが発生

調べたところ、セキュリティソフトが原因であることが判明。具体的には以下の仕組みでエラーが発生していました

  • 共有リンク作成に必要なのが、frpc_darwin_arm64_v0.3frpc_linux_amd64_v0.3などのファイル
  • セキュリティソフトが上記ファイルを自動で削除してしまう
  • 結果、共有リンク作成時にエラーが発生

セキュリティソフトの設定をいじるとファイル削除は止まったのですが、エラーは継続。上記ファイルの実行権限がなくてエラーが出る場合があるとのこと

https://github.com/gradio-app/gradio/issues/3498

ターミナルで以下のコマンドを実行することで解決しました
`chmod +x {frpc_darwin_arm64_v0.3やfrpc_linux_amd64_v0.3などのファイルパス}'

Gradioを使って出たエラーと対処方法

以上です。Gradioはプロトタイプが作りやすいのでおすすめです。日本の記事が少ないのが難点

Discussion