目次
Gradioとは
Gradioは、Pythonで作成したAIモデルをWebアプリとして公開するためのライブラリです。
Gradioの使い方については、下記の記事を参考にしてください。
GradioのExamplesとは
GradioのExamplesとは、Gradioアプリの入力(または出力)の例を表示する機能です。
GradioのExamplesを使うと、ユーザがGradioアプリを使う際に使い方をわかりやすくできます。
Examplesを追加する方法
GradioのExamplesを追加するには、Gradio.Examples()を使います。
Gradio.Examples()の引数には、入力の例をリストで渡します。
examples = [
    ["Hello world!"],
    ["こんにちは世界!"],
    ["你好,世界!"],
]
Examplesを使った例
GradioのExamplesを使った例を紹介します。
GradioのExamplesを使って、入力の例を表示するGradioアプリを作ります。
import gradio as gr
def hello_world(text):
    return "Hello world!"
examples = [
    ["Hello world!"],
    ["こんにちは世界!"],
    ["你好,世界!"],
]
app = gr.Interface(
    hello_world,
    gr.inputs.Textbox(lines=2, placeholder="Enter text here..."),
    gr.outputs.Textbox(label="Output"),
    examples=examples,
    title="Hello world!",
    description="This is a simple Gradio app.",
    allow_flagging=False,
)
app.launch()
GradioのExamplesを理解する
GradioのExamplesを理解するために、GradioのExamplesのパラメータを見てみます。
このクラスは Dataset コンポーネントのラッパーで、 ブロックやインターフェイスのサンプルを作成するために使用します。Dataset コンポーネントにサンプルを投入し、イベントリスナーを割り当てて、サンプルをクリックすると入出力コンポーネントへの入力が行われるようにします。オプションで、高速な推論を行うためのExampleのキャッシュを処理します。
Examplesに必須なパラメータはexamplesとinputsのみです。それ以外はoptionalです。
Examplesのパラメータ
| パラメータ | 説明 | 
|---|---|
| examples | クリックすることで、特定のコンポーネントに入力することができる入力の例。外側のリストがサンプルで、内側のリストが各入力コンポーネントに対応する入力で構成されるネストされたリストであるべきです。サンプルのディレクトリへのパスも指定できますが、gradioアプリを実行しているPythonファイルがあるディレクトリ内にあるべきです。複数の入力コンポーネントがあり、ディレクトリが提供される場合、対応する入力をリンクするための log.csv ファイルがディレクトリ内に存在する必要があります。 | 
| inputs | 例に対応するコンポーネントまたはコンポーネントのリスト | 
| outputs | オプションで、例の出力に対応するコンポーネントまたはコンポーネントのリストを指定します。cache` が True の場合は必須である。 | 
| fn | オプションで、サンプルに対応する出力を生成するために実行する関数を指定します。cache` が True の場合は必須である。 | 
| cache_examples | True の場合、高速に実行するためにサンプルをキャッシュする。True の場合、 fn と outputs を指定する必要がある。 | 
| example_per_page | 1ページにいくつの例を表示するか。 | 
| label | examples コンポーネントに使用するラベル (デフォルトは "Examples") | 
| elem_id | HTML DOM 内でこのコンポーネントの ID として割り当てられるオプションの文字列。 | 
| run_on_click | cache_examples が False の場合、例がクリックされても、関数は実行されません。これを True に設定すると、例がクリックされたときに関数が実行されます。cache_examples が True の場合は、何の効果もありません。 | 
| preprocess | True の場合、予測関数を実行し、出力をキャッシュする前に、サンプルの入力の前処理を行います。cache_examples が True の場合のみ適用されます。 | 
| postprocess | True の場合、予測関数を実行した後、キャッシュする前にサンプル出力を後処理します。cache_examples が True の場合のみ適用されます。 | 
| batch | True の場合、この関数は入力のバッチを処理する必要があります。つまり、各パラメータの入力値のリストを受け入れる必要があります。cache_examples が True の場合のみ使用されます。 | 
