AIアプリケーション用のユーザーインターフェイスの構築Pythonのグラデーションを使用して
今日のAIモデルの有用性は、アクセス可能なユーザーインターフェイスなしで大幅に減少します。オープンソースのPython Web UIライブラリであるGradioを使用して、LLMSと非技術的なエンドユーザーの間のギャップを埋めることができます。これにより、AIプロジェクト用の迅速なプロトタイプを作成し、展開をより多くの視聴者に簡素化できます。
このチュートリアルは、通常、Web開発の経験がない機械学習エンジニアを対象としています。グラデーションの基本とコアの概念、さまざまなAIモデルタイプのインターフェイス作成、UXとインタラクティブ性の高度な機能、およびベストプラクティスの展開と共有をカバーしています。始めましょう。
Gradio
を始めましょうインストール
仮想環境(できればコンドラ)を作成することから始めます:
その後、PIPを使用してグレードとその依存関係をインストールできます。
$ conda create -n gradio_tutorial python=3.9 -y $ conda activate gradio_tutorial
これにより、グレーデンがインストールされているカーネルを備えたノートブックを作成できるようになります。確認するには、標準エイリアスの下にインポートし、バージョンを印刷してください。
$ pip install gradio ipykernel
「Hello World」の例を通じて、その重要な概念と用語を学習することにより、グレードに飛び込みます。
$ ipython kernel install --user --name=gradio_tutorial $ jupyter lab # Start the lab
上記のコードをセルで実行すると、出力はカスタムグリーティングメッセージを返す小さなインタラクティブなインターフェイスになります:
import gradio as gr print(gr.__version__) 4.37.1
Gradioは、いくつかの重要な概念を中心に展開しています:
def greet(name): return f"Hello, {name}!" demo = gr.Interface( fn=greet, inputs=['text'], outputs="text", ) demo.launch()
:UISを作成するためのコアクラス。
コンポーネント
:テキストボックス、画像、オーディオなどの入力および出力要素。現在、30を超える組み込みコンポーネントがあります。- 関数:入力コンポーネントから情報を処理し、出力コンポーネントで表示する結果を返すPython関数。
- 起動:グラデーションアプリを開始する方法 上記の上記では、テキスト入力を取得して返す挨拶関数を作成しました。このため、入力コンポーネントと出力コンポーネントは、インターフェイスクラス内のテキストとして指定されています。
- 最後に、ローカルサーバーを開始する起動方法を呼び出しています。誰でもUIを利用できるようにするには、共有パラメーターをtrueに設定できます。これにより、SSHトンネルが開始され、Gradioアプリを公開されているWebページに展開します。 グラデーションコンポーネント
- さまざまなコンポーネントをいじくり回す時間と、グラデーションアプリを構築しながらページに配置する方法に費やします。それでは、あなたが自由に使えるものを詳しく見てみましょう。
入力コンポーネントと出力コンポーネント
Gradioは、インタラクティブなインターフェイスを構築するための幅広いコンポーネントを提供しています。これらのコンポーネントは通常、入力と出力の2つのカテゴリに分割されます。
入力コンポーネントを使用すると、ユーザーは基礎となるプロセッサにデータを提供できます(これは任意のPython関数になります)。いくつかの一般的な入力は次のとおりです- 画像
- audio
- スライダー
- ドロップダウン
- ここに上記のコンポーネントの一部を使用するダミーインターフェイスがあります。
$ conda create -n gradio_tutorial python=3.9 -y $ conda activate gradio_tutorial
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー最初の例のようなプレーン文字列テキストの代わりに、テキストボックスクラスを使用して入力コンポーネントを指定する方法に注意してください。専用クラスを使用して、入力コンポーネントと出力コンポーネントを指定してカスタマイズ可能にすることをお勧めします。たとえば、すべてのコンポーネントクラスには有用なラベル属性がありますが、スライダーとドロップダウンには範囲と利用可能なオプションを指定するための引数があります。
多くの入力コンポーネントを使用して、出力を表示することもできます。いくつかの一般的なシナリオがあります:- を再生するため
- プロット:グラフまたはチャートを表示するため
- 入力と同様に、出力コンポーネントの数は、処理関数からの返された値の数と一致する必要があります。 コンポーネントの外観のカスタマイズ
- Gradioを使用すると、ニーズに合わせてコンポーネントの外観をカスタマイズできます。カスタマイズされたテキストボックスを使用する例は次のとおりです
さまざまなコンポーネントとそのプロパティを実験して、AIアプリケーションの要件に最適なインターフェイスを作成します。コンポーネントに対してどのようなプロパティを変更できるかを確認するには、ドキュメントにアクセスできます。クラス名の後のJupyter Labのオペランド:
LLMSのためのインターフェイスの構築$ pip install gradio ipykernel
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーLLMSによって駆動される2つの現実世界のテキストと画像ベースのインターフェイスを作成することで、学んだことすべてをまとめましょう。
最初に、英語からトルコ語、スペイン語、または中国語への言語翻訳者を構築します。
最初に、translate_text関数を定義します。その体には、Openai APIキーを設定し、言語マップを作成します。次に、翻訳のプロンプトを構築します。次に、Try-Exceptブロック内で、システムプロンプトを使用してChatCompletionエンドポイントにリクエストを送信します。最終的に、最初の選択肢を返します。$ conda create -n gradio_tutorial python=3.9 -y $ conda activate gradio_tutorial
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー以前のインターフェイスのコードと同様にコードは簡単ですが、いくつかの新しいプロパティを導入しています。$ pip install gradio ipykernel
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピー- ここに結果があります:
アプリを自分で提供するのではなく、アプリの一部としてユーザーのAPIキーを尋ねている理由を疑問に思うかもしれません。その理由は、GradioがUISを展開する方法に関係しています。
独自のAPIキーを環境変数(標準的な慣行)として提供した場合、環境変数にアクセスできないため、公開されているアプリバージョンが機能しません。展開セクションでは、アプリをハギングフェイススペースに展開することにより、これを修正する方法を確認します。画像を生成するために別のUIを作成しましょう:
APIキーの2つの入力と、シュールな画像でキャプチャしたい概念を指定します。次に、画像クラスを使用して生成された画像の出力コンポーネントを1つ作成します。その価値引数をSTRに設定すると、コンポーネントはURLから画像をダウンロードして表示できます。これはまさに必要なものです。
そして、ここに結果があります:$ ipython kernel install --user --name=gradio_tutorial $ jupyter lab # Start the lab
ログイン後にコピーログイン後にコピーログイン後にコピー古典的なMLモデル用の構築インターフェイス
次に、古典的な表形式モデルのインターフェイスを作成しましょう。 Seabornで利用できるダイヤモンドデータセットを使用します。import gradio as gr print(gr.__version__) 4.37.1
ログイン後にコピーログイン後にコピー新しい作業ディレクトリとApp.py内の新しいスクリプトを作成することから始めます。次に、データをロードするこのGitHub要素のコードを貼り付け、Scikit-Learnパイプラインを使用して処理し、ランダムフォレストレギッションモデルをトレーニングします。
次のステップは、ダイヤモンドデータセットに機能があるのと同じ数の入力を受け入れる処理関数を作成することです。
$ conda create -n gradio_tutorial python=3.9 -y $ conda activate gradio_tutorial
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーこの関数は、これらの入力をデータフレームに変換し、訓練されたモデルパイプラインの.predict()メソッドに渡します。最終的に、それは予測された価格で文字列を返します。
ここで、インターフェイスクラスはこの関数の署名と一致する必要があります。フィーチャを処理するための9つの入力コンポーネントと、予測価格を表示するための1つの出力:今やらなければならないのは、アプリを実行してデプロイするためにスクリプトを実行することだけです:$ pip install gradio ipykernel
ログイン後にコピーログイン後にコピーログイン後にコピーログイン後にコピーここに結果があります:
$ ipython kernel install --user --name=gradio_tutorial $ jupyter lab # Start the lab
ログイン後にコピーログイン後にコピーログイン後にコピーベストプラクティスと最適化のヒントについては、以下のベストプラクティスセクションにスキップしてください。
グラデーションアプリの展開
単一の引数を有効にすることで、グレードアプリを展開するのがどれほど簡単かをすでに見てきました。もちろん、この方法の欠点は、デモが72時間以内に期限切れになることです。したがって、グラデーションを展開する推奨方法は、ハギングフェイススペースを使用することです。 Huggingfaceは2021年にグラデーションを取得し、2つのプラットフォーム間の統合をシームレスにしました。
したがって、このチュートリアルまたはグレードで作成する将来のアプリについては、huggingface.coで無料アカウントにサインアップして、設定&gtに移動します。アクセストークンを生成するためのトークン:トークンは一度だけ表示されますので、必ず安全に保管してください。
このトークンを使用すると、スペースでの永続的なホスティングを使用すると、必要な数のグラデーションアプリを展開できます。例として、前のセクションからダイヤモンド価格の予測モデルを展開すると、驚くほど簡単になります。あなたがしなければならないのは、UIスクリプトを使用してディレクトリに移動し、端末にグラデーションデプロイを呼び出すことです。
Gradio UIコードを含むスクリプトの名前(app.pyデフォルト)
スペースのハードウェア。 cpus(free)
のみを使用するには、空のままになります- スクリプトが使用する環境変数(これは、APIキーとユーザーの秘密を安全に保存する場所です)依存関係 - Enter
を押して1つずつ入力します
- そして端末は、展開されたスペースリンクを提供します。これがどのように見えるかです:
- この展開方法のもう1つの素晴らしい点は、Gradioがデモを自動的に機能するREST APIに自動的に変換することです。アクセスしてクエリするための指示は常に下部にあります:
したがって、一度に、非技術ユーザー向けのアプリケーション用の永続的なUIホスティングと、同僚や開発者の友人向けのREST APIの両方があります。デモをWebページに埋め込む、アプリにGoogle認証を追加するなどの展開と共有オプションについては、Gradioのドキュメントの「アプリの共有」セクションにアクセスしてください。
グラデーションベストプラクティスとヒント2。コンポーネントのスペース割り当てを最適化します
適切なサイジングおよびレイアウトツール(例:gr.column()、gr.row())を使用して、バランスの取れた応答性インターフェイスを確保します。
3。包括的な情報を提供4。大きな機能セットを効率的に処理します
多くの機能を備えたモデルの場合、ファイル入力(CSV、JSON)を使用して、バッチ予測を有効にし、インターフェイスを簡素化します。
5。環境変数を適切に管理6。エラー処理と検証を実装します
入力を検証し、クリアなエラーメッセージを提供し、優雅なエラー処理にtry-exceptブロックを使用してください。
7。パフォーマンスを最適化8。アクセシビリティのためのデザイン
高いコントラストを確保し、画像にALTテキストを提供し、すべてのインタラクティブな要素のキーボードナビゲーションを有効にします。
9。プログレッシブ開示を実装10。定期的に更新および維持
依存関係を更新し、バグを監視し、ユーザーのフィードバックに基づいて継続的に改善します。
11。 Huggingfaceリソースを活用してください12。 Huggingfaceハブで大きなモデルをホストします
大きな表形式モデルの場合は、パフォーマンスを向上させ、ローカルストレージ要件を削減するために、ハグFaceハブにアップロードし、グラデーションスクリプトに直接読み込みます。
13。 Huggingfaceデータセットを利用してください
大規模なデータセットの場合は、ハグFaceハブにアップロードし、グラデーションアプリケーションに直接アクセスして、データ管理を合理化し、読み込み時間を改善します。
結論とさらなるリソースこの記事では、Gradioを使用してAIアプリケーションのユーザーインターフェイスを構築することの基本を学びました。 Gradioは複雑なインターフェイスを構築するためのさらに多くの機能を提供しているため、表面の下に浸しました。たとえば、インターフェイス状態を使用すると、アプリがある関数呼び出しから別の機能への出力を覚えておくことができます。リアクティブインターフェイスユーザー入力が変更されるとすぐにUIを動的に変更します。ブロックを使用すると、カスタムレイアウトとデザインを使用してアプリを作成できます。
同様に、これらの関連するリソースをチェックして、より多くのコンテンツを確認してください:
- 5 Gen AIモデルを使用して構築できるプロジェクト 機械学習コース用の
- CI/CD
- TopicsArtificial IntelligencePython
以上がAIアプリケーション用のユーザーインターフェイスの構築Pythonのグラデーションを使用しての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

ねえ、忍者をコーディング!その日はどのようなコーディング関連のタスクを計画していますか?このブログにさらに飛び込む前に、コーディング関連のすべての問題について考えてほしいです。 終わり? - &#8217を見てみましょう

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

Shopify CEOのTobiLütkeの最近のメモは、AIの能力がすべての従業員にとって基本的な期待であると大胆に宣言し、会社内の重大な文化的変化を示しています。 これはつかの間の傾向ではありません。これは、pに統合された新しい運用パラダイムです

導入 鮮やかな絵画や彫刻に囲まれたアートギャラリーを歩くことを想像してください。さて、各ピースに質問をして意味のある答えを得ることができたらどうでしょうか?あなたは尋ねるかもしれません、「あなたはどんな話を言っていますか?

導入 Openaiは、待望の「Strawberry」アーキテクチャに基づいて新しいモデルをリリースしました。 O1として知られるこの革新的なモデルは、推論能力を強化し、問題を通じて考えられるようになりました

私のコラムに新しいかもしれない人のために、具体化されたAI、AI推論、AIのハイテクブレークスルー、AIの迅速なエンジニアリング、AIのトレーニング、AIのフィールディングなどのトピックなど、全面的なAIの最新の進歩を広く探求します。

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します
