You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

283 lines
9.0 KiB

WEBVTT
00:00.830 --> 00:04.250
ラボのラジオ・デイへようこそ。
00:04.250 --> 00:05.180
もっとやることがある。
00:05.210 --> 00:06.620
続けよう。
00:06.620 --> 00:16.610
LLMを呼び出し、 とてもいいジョークを言うシンプルなユーザー・インターフェースを作ったところだった。
00:16.850 --> 00:20.060
ええと、 このまま続けましょう。
00:20.060 --> 00:32.540
次にやることは、 より見栄えのするユーザー・インターフェースを得る方法として、 マークダウンで応答するようアシスタントに求めることだ。
00:32.960 --> 00:40.940
マークダウンで書かれた優れた書式で、 グラディオの結果を表示できたらいいと思わない?
00:40.940 --> 00:51.560
テキストボックスの代わりにマークダウンという言葉に置き換えるだけで、 完璧にフォーマットされたマークダウンが出力される。
00:51.560 --> 00:53.180
それは素晴らしいことだろう?
00:53.210 --> 00:54.380
いいことだと思わない?
00:55.190 --> 00:56.900
このあたりはお分かりだろう。
00:57.770 --> 00:59.030
物事は本当にそうなんだ。
00:59.030 --> 00:59.840
これはいい。
01:00.020 --> 01:02.510
では、 あなたのメッセージを言いましょう。
01:02.510 --> 01:03.740
そうだな。
01:03.890 --> 01:14.240
あの、 タイムズ・スクエアからグランド・セントラルまでどうやって行けばいいんですか?
01:14.960 --> 01:17.120
ニューヨーク・ナビゲーションに質問がある。
01:17.120 --> 01:18.710
どうなるか見てみよう。
01:19.640 --> 01:21.440
それを考えているんだ。
01:22.400 --> 01:23.360
さあ、 行こう。
01:23.360 --> 01:24.440
これが返答だ。
01:24.440 --> 01:29.660
ニューヨークのタイムズ・スクエアからグランド・セントラル・ターミナルに行くには、 私が話していたことを理解する必要がある。
01:29.870 --> 01:34.040
これらの手順を踏めば、 良い見出しであることがわかるだろう。
01:34.310 --> 01:43.820
そして、 GPT4から戻ってきたマークダウンに記されているように、 素敵なサブの弾丸や数字、 その他もろもろを備えている。
01:43.850 --> 01:47.000
とても簡単だ。
01:47.390 --> 01:50.360
他に何ができるか見てみよう。
01:51.500 --> 01:53.420
ええと、 ストリーミング。
01:53.420 --> 01:55.700
ストリーミングは前回で慣れた。
01:55.700 --> 02:03.820
そこで、 Jupyterの出力セルに戻ってきたときと同じように、 結果をGradioのユーザー・インターフェースにストリームバックすることができる。
02:03.820 --> 02:04.960
それでは、 どうぞ。
02:04.990 --> 02:07.300
私たちは機能を変える。
02:07.330 --> 02:10.840
以前はGPTというメッセージだった。
02:10.870 --> 02:12.400
今はGPTストリームにしている。
02:12.430 --> 02:13.420
機能が違う。
02:13.420 --> 02:15.610
そして重要なのは、 これは実際には機能ではないということだ。
02:15.610 --> 02:20.320
結果を出して終わるという点ではジェネレーターだ。
02:20.320 --> 02:26.170
そしてグラディオは、 私たちが関数ではなくジェネレーターを与えていることを検知する。
02:26.170 --> 02:35.980
そのため、 グラディオは自動的に反復性を持ち、 このジェネレーターから戻ってくるデータを少しずつ埋めていくことになる。
02:36.100 --> 02:38.020
だからいつもの話だ。
02:38.020 --> 02:46.120
メッセージを作成し、 同じAPIコールであることを思い出してほしい。
02:46.150 --> 02:47.770
クロードのやり方を覚えているか?
02:47.860 --> 02:48.790
そうなるといいね。
02:48.820 --> 02:54.220
クロードの場合は、 アトリビュートを持たず、 ドット・クリエイトの代わりにドット・ストリームを呼び出す。
02:54.220 --> 02:56.290
でも、 それ以外はよく似ている。
02:56.350 --> 02:58.810
ここでひとつ注目すべきことがある。
02:58.840 --> 03:01.110
ただ、 グラディオの場合はほんの少し微妙だ。
03:01.140 --> 03:08.820
結果をGradioにストリームバックする場合、 結果のチャンクごとにストリームバックすることはない。
03:08.820 --> 03:16.410
これまでの累積結果をすべてストリームバックし、 さらに長い累積結果をストリームバックしなければならない。
03:16.410 --> 03:20.520
つまり、 私がやっているのは、 空の文字列から始めるということだ。
03:20.520 --> 03:28.110
そして、 各チャンクごとにそれを足し算して、 これまでの累積結果を出す。
03:28.260 --> 03:37.140
そうしないと、 個々の塊が出力セルに現れては消え、 別のものに置き換わってしまう。
03:37.140 --> 03:38.910
だから、 こうしなければならない。
03:38.910 --> 03:42.900
意味がわからない場合は、 yield resultの代わりにyield chunkを試してみてほしい。
03:43.050 --> 03:43.290
申し訳ない。
03:43.320 --> 03:46.200
収量塊. 0. デルタ・ドット・コンテンツ
03:46.320 --> 03:46.590
ええと。
03:46.590 --> 03:49.350
そうすれば、 私が言っている意味がよくわかるだろう。
03:49.350 --> 03:50.910
見栄えは良くないだろう。
03:51.150 --> 03:59.640
とにかく、 これが我々のストリームGPTだ。 メッセージGPTであった関数をストリームGPTに置き換えるだけで、
03:59.760 --> 04:06.390
あとはGradioがやってくれるとしたら、 それは素晴らしいことではないだろうか。
04:06.390 --> 04:09.300
これは関数ではなくジェネレーターなんだ。
04:09.300 --> 04:11.610
そのため、 彼らは結果をストリーミングで返したいと思っているはずだ。
04:11.610 --> 04:15.360
だから、 タイプライター・アニメーション風のエフェクトが必要なんだ。
04:15.390 --> 04:18.660
本当にそんな単純なことができるのか、 見てみよう。
04:18.660 --> 04:20.190
そんな単純なことでいいのだろうか?
04:20.520 --> 04:21.660
さあ、 始めよう。
04:21.690 --> 04:29.940
タイムズ・スクエアからグランド・セントラルへはどうやって行くの?
04:32.310 --> 04:33.360
さあ、 行こう。
04:33.510 --> 04:34.470
もちろん、 それは簡単なことだ。
04:34.500 --> 04:35.460
もちろんそうだ。
04:35.490 --> 04:36.930
結果をストリームする。
04:36.930 --> 04:37.920
見た目も素晴らしい。
04:37.920 --> 04:40.380
マークダウンは素晴らしい。
04:40.890 --> 04:47.280
ええと、 だから、 もちろん、 クロードと一緒ならどんなに簡単かお見せしなければ、 私の仕事ではありません。
04:47.280 --> 04:51.540
前にも書いたが、 クロードのAPIコールがあるのがわかるだろう。
04:51.540 --> 04:52.800
とてもよく似ている。
04:52.800 --> 04:55.650
ドットストリームを呼び出し、 パラメータは渡さない。
04:55.650 --> 05:00.470
トークンの最大数を指定する必要があり、 システム・メッセージは別に入力されることを覚えておいてほしい。
05:00.500 --> 05:02.240
それ以外は非常によく似ている。
05:02.270 --> 05:05.510
ストリーミングバックは、 ストリームとしての結果のためだけのものだ。
05:05.690 --> 05:08.030
つまり、 結果をストリームとしてコンテキスト・マネージャーとする。
05:08.030 --> 05:13.070
そして、 以前と同じように全回答を返す。
05:13.550 --> 05:16.670
そしてこの時点では、 退屈なほどシンプルなものになるだろう。
05:16.670 --> 05:17.780
冗談はわかるだろう。
05:17.810 --> 05:21.050
代わりにその関数を渡すだけだ。
05:21.050 --> 05:24.110
そして今、 私たちは代わりにクロードと話している。
05:24.110 --> 05:25.640
同じ質問をしよう。
05:25.670 --> 05:31.910
タイムズ・スクエアからグランド・セントラルへの行き方は?
05:33.290 --> 05:40.250
そして、 クロードの回答が来た。 少し短く、 2つの選択肢だけだが、 うまく構成されている。
05:40.250 --> 05:41.720
うまくフォーマットされている。
05:41.720 --> 05:43.820
実に素晴らしい。
05:44.120 --> 05:53.750
GPTとクロードのどちらかを選択できるようにすることで、 一歩前進させることができます。
05:53.750 --> 05:56.840
でも、 それは次のセッションで話そうと思っている。
05:56.840 --> 05:57.980
だから、 そこで頑張るんだ。