1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

DockerでGradioアプリを作ってデプロイするだけでしんどかった件~JSONエラーと422エラー~

Posted at

最初に

今回は表題の通り、DockerでGradioアプリを作った際、詰まったことについて記載します。
エラー内容は以下の二つです。

  • 422 (Unprocessable Content)
  • Unexpected end of JSON input

両方ともローカルで実行している時には再現しませんでした。
ホスティング先でのみ再現します。

422 (Unprocessable Content)

pydanticのバージョンを固定します。
pydantic==1.10.11

Issueに情報が転がってました。

Unexpected end of JSON input

FastAPIでラッピングしちゃう(推奨)

io = gr.Interface(title="テキストとファイルの入力",description="テキストとファイルを入力して処理を実行します。",
    inputs=[
        gr.inputs.Textbox(label="APIキー"),
        gr.inputs.File(label="動画ファイル"),
        gr.inputs.Dropdown(label="モデル",choices=models),
    ],
    outputs=[
        gr.outputs.Textbox(label="文字起こしデータ"),
        gr.outputs.Textbox(label="議事録データ"),
    ],
    fn=excute,
    )
        
app = FastAPI()
app = gr.mount_gradio_app(app, io,path="/")

参考

解決しなかったShare=True

IssueにはLanchのプロパティにShere=Trueを指定することで解決するとありましたが、解決に至りませんでした。

終わり

デバッグをしている時にGradioはReactかNextのコードを自動生成して、
コードをフロントとバックに分けてるっぽいことに気づきました。
ホスティング先では、その繋ぎ目で問題が発生していました(根本原因は不明、デバッガ上の話)。

Gradioでタイトルは異なりますが、同じような困り事はたくさんあるようで、
今回は遊びのツールでしたが、仕事で使うのはきびしいなぁと感じました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?