WEBVTT 00:00.680 --> 00:08.180 そして、 このPythonモジュールにあるユーザーインターフェースのコードへようこそ。 00:08.180 --> 00:10.130 価格は適正なドットパイ。 00:10.130 --> 00:18.860 そしてここでは、 特に製品の背後にあるUIを構築するコードを見ていく。 00:19.070 --> 00:22.070 そして、 それはいくつかの輸入品から始まる。 00:22.190 --> 00:24.110 グラディオを輸入する上で非常に重要なものだ。 00:24.110 --> 00:29.900 さらに重要なのは、 ディール・エージェントの枠組みを輸入することだ。 00:30.230 --> 00:33.440 そして、 クラス・アプリを定義する。 00:33.440 --> 00:39.080 一番下までスクロールすると、 一番下にapp dot runとあるのがわかるだろう。 00:39.110 --> 00:41.270 アプリを作成し、 それを実行する。 00:41.270 --> 00:43.250 そして、 それは何を創造することなのか? 00:43.250 --> 00:44.240 ほとんど何もしない。 00:44.240 --> 00:47.420 エージェントフレームワークのために空の変数を設定するだけだ。 00:47.450 --> 00:51.260 肉汁は "ラン・アー "方式だ。 00:51.260 --> 01:00.280 そしてそれはもちろん、 「プライス・イズ・ライト」の素晴らしいブロックを使ったGradioのより高度な構造を使ったユーザーインターフェイスを生み出す。 01:00.610 --> 01:06.250 それから、 ここにあるのは、 前に見たコードとよく似たコードだ。 01:06.280 --> 01:10.480 実際、 ここにあるユーザーインターフェースの部分は同じだ。 01:10.480 --> 01:14.020 いくつかのタイトルの行がある。 01:14.020 --> 01:17.890 それからデータフレームを入れる。 01:17.890 --> 01:22.630 これは、 列として説明価格見積もり割引とアールを持っています。 01:22.630 --> 01:28.480 そして、 以前と同じように機会データフレームと呼ばれるものにセットアップされ、 割り当てられる。 01:28.750 --> 01:33.040 ええと、 唯一変わったのは、 その直後に起こることだ。 01:33.040 --> 01:34.810 それでは、 どうぞ。 01:34.840 --> 01:37.630 これがこのファイルの新しい内容だ。 01:37.630 --> 01:40.780 UIのドットロードがあるんだ。 01:40.780 --> 01:43.660 だから、 ここでもグラディオに言うのだ。 01:43.690 --> 01:48.310 ロードするときは、 ある指示を実行してほしい。 01:48.310 --> 01:54.060 そして、 gradioの標準フォーマットである関数名から始まるフォーマットを使って、 01:54.060 --> 01:56.970 入力と出力を呼び出すように指定する。 01:56.970 --> 02:00.690 そしてこの場合、 startという関数を呼び出してほしいと言っているのだ。 02:00.720 --> 02:02.700 この機能には入力はない。 02:02.700 --> 02:07.890 そして、 それが何を返すにせよ、 それを機会データフレームにフックしてほしい。 02:07.890 --> 02:13.500 つまり、 テーブルに入れるのに適した情報を返してくれることを期待しているのだ。 02:13.500 --> 02:16.860 だから、 機能的なスタートが期待できる。 02:17.310 --> 02:23.130 そして、 GRドットタイマーと呼ばれるGradio UIコンポーネントを作成します。 02:23.130 --> 02:26.160 そして、 それはいくつかのタイミングを計るものだ。 02:26.160 --> 02:29.100 これは実際には目に見えないUIコンポーネントである。 02:29.400 --> 02:35.160 それは舞台裏で動いているもので、 60年代には必ず目を覚ます。 02:35.160 --> 02:38.580 そして、 60秒ごとに何をするかというと......グラディオに何をすべきかを指示しなければならない。 02:38.580 --> 02:42.480 Gradioに伝える方法は、 タイマー、 ドット、 ティックを呼び出すことだ。 02:42.480 --> 02:50.060 そして、 そうしたら、 Gradioの標準的な構造標準的なアプローチを使って、 再びGradioに情報を提供する。 02:50.060 --> 02:52.220 呼び出される関数を指定する。 02:52.220 --> 02:54.350 この場合、 私は行けと言う。 02:54.380 --> 03:03.080 入力を与えれば、 何もない。 出力は、 何が返ってきても、 機会データフレームに入れなければならない。 03:03.080 --> 03:05.300 もう一度言う。 03:05.330 --> 03:11.180 ここで呼び出すセレクト・メソッドは、 以前とまったく同じだ。 03:11.180 --> 03:12.440 これも変わらないことだ。 03:12.440 --> 03:13.550 全く同じではない。 03:13.550 --> 03:16.490 少し変わったけど、 基本的には同じだよ。 03:16.550 --> 03:23.570 そして、 エージェントフレームワークのメッセンジャーアラート、 チャンスについてのアラートへのコールで終わる。 03:23.840 --> 03:27.290 だから、 その小さな変化にお気づきだろう。 03:27.290 --> 03:29.360 完全な警戒態勢に入る。 03:29.750 --> 03:37.130 さて、 あとは2つの機能を見ていくだけだ。 03:37.130 --> 03:44.810 そしてディスプレイの上部には、 問題の2つの機能であるスタートとゴーが表示される。 03:44.820 --> 03:48.030 そして、 それらを見るなら、 まずはスタートから始めよう。 03:48.060 --> 03:53.280 スタートが行うのは、 ディール・エージェント・フレームワークの新しいインスタンスを作成することだ。 03:53.310 --> 03:56.610 フレームワーク全体をコントロールする重要なオブジェクト。 03:56.940 --> 04:02.460 それをインスタンス化し、 どのような機会があるかを記憶させる。 04:02.460 --> 04:08.430 そして、 これらの機会を表す関数テーブルを呼び出し、 そのテーブルを返す。 04:08.460 --> 04:09.930 では、 テーブル4は何をしているのか。 04:09.960 --> 04:12.360 テーブル4はこの小さな機能だ。 04:12.900 --> 04:15.870 だから、 4番テーブルはチャンスがある。 04:15.870 --> 04:18.810 そして、 ここに入ればチャンスを思い出すことができる。 04:18.840 --> 04:23.250 チャンスはここにある。 04:23.250 --> 04:30.000 それこそが、 エージェントフレームワークのメモリに保存される、 取引と見積もりと値引きを含むものである。 04:30.000 --> 04:31.380 それはチャンスだ。 04:31.980 --> 04:34.170 そこで第8週に戻る。 04:34.440 --> 04:42.530 つまり、 この関数は機会オブジェクトを単なる文字列のリストに変換する。 04:42.560 --> 04:54.860 説明、 価格、 見積もり、 割引、 URL、 正確にはタイプ、 ここにあるデータ・フレームに入れるために必要な構造を持つ文字列のリストのリスト。 04:54.890 --> 04:58.730 だからまた、 単純に取引を開始する。 04:58.730 --> 04:59.480 エージェントのフレームワーク。 04:59.510 --> 05:06.440 メモリを見て、 それを文字列に変換して返す。 05:06.470 --> 05:09.920 60年代には必ず呼ばれたものだ。 05:09.950 --> 05:13.160 囲碁は非常に、 非常に似たことをやろうとしている。 05:13.160 --> 05:14.630 よく似ているのがわかるだろう。 05:14.660 --> 05:18.200 ただ、 この小さな小さな一本の線が追加されているだけだ。 05:18.350 --> 05:19.490 大したことはできない。 05:19.490 --> 05:20.780 何でもやってくれる。 05:20.780 --> 05:25.370 これは、 エージェントフレームワーク上で実行される呼び出しの行である。 05:25.370 --> 05:27.950 以前は手作業でやっていたことだ。 05:27.950 --> 05:31.610 私たちが構築したワークフロー全体がトリガーされる。 05:31.610 --> 05:33.290 それが囲碁だ。 05:33.320 --> 05:41.800 そして、 このGRタイマーによって、 60歳ごとに碁はキックオフされる。 05:42.010 --> 05:45.700 あとは実際に動いているところを見るだけだ。 05:45.820 --> 05:52.630 ランチャーで新しいターミナルを開いてみよう。 05:52.660 --> 05:58.750 そして、 conda activate LMSでconda環境を有効化するように変更します。 05:59.920 --> 06:01.090 これでよし。 06:01.090 --> 06:08.020 今はPython price is rightと入力するだけで実行できる。 06:08.050 --> 06:10.570 ドットパイはそれくらいシンプルであるべきだ。 06:10.600 --> 06:13.390 ちょっとドラムロールを見てみよう。 06:13.420 --> 06:15.220 そして321だ。 06:15.220 --> 06:16.180 さあ、 始めよう。 06:18.100 --> 06:23.050 ちょっと考えている間に間があって、 バーン! 06:23.080 --> 06:27.100 値段も手頃だし、 もっと仕事がある。 06:27.100 --> 06:29.950 そして、 目の前にあるのがこれだ。 06:30.250 --> 06:32.200 もちろん、 私たちが見ているのは記憶だ。 06:32.230 --> 06:34.860 我々はそれがもたらすチャンスに注目している。 06:35.280 --> 06:39.120 下にスクロールして、 一番下の項目を見てみよう。 06:39.120 --> 06:46.920 それは、 以前コマンドラインから実行したときに、 つい最近私たちに表面化した項目だと思う。 06:47.010 --> 06:49.500 そしてもちろん、 それをメモリーに保存する。 06:49.500 --> 06:54.000 だから、 私たちはここで浮上した項目を見ている。 06:54.000 --> 07:02.730 コマンドラインに戻ると、 もちろん、 初期化され、 07:02.730 --> 07:11.760 セットアップされ、 準備が整ったことがわかる。 07:11.790 --> 07:16.590 そして1分後、 キックオフして起動する。 07:16.590 --> 07:19.830 あなたはこれを開き、 実行し、 これを試してみようとしている。 07:19.830 --> 07:22.590 そして、 私と同じように、 それが走るのを見ることになる。 07:22.590 --> 07:28.980 そして次回の講義では、 その結果について見ていくことにしよう。 07:29.250 --> 07:30.720 そこで会おう。