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.
 
 

139 lines
5.1 KiB

WEBVTT
00:00.560 --> 00:06.710
あなたがこのコースで頑張り、 大きく前進しているのは素晴らしいことだ。
00:06.710 --> 00:17.630
8週目の今日のトピックについて、 本当に重要な専門知識を構築する最後の数日間に入った。
00:17.660 --> 00:28.700
日目は、 引き続き強化し、 スキルアップを図り、 もうひとつスキルを身につける。
00:28.700 --> 00:30.620
だから今日は新しいものを見てみよう。
00:30.650 --> 00:41.000
構造化出力というのは、 実はかなり最近の革新的なもので、 フロンティアモデルに特定の仕様に従って反応させたいことを伝えることができる方法だ。
00:41.000 --> 00:42.500
だから、 今日はそうするつもりだ。
00:42.500 --> 00:48.950
また、 フロンティア・モデルを使ったワークエクスペリエンスをさらに行い、
00:48.950 --> 00:54.140
過去に行ったようなインターネット上でのスクラップを行い、
00:54.140 --> 01:01.040
フロンティア・モデルを使ってデータを統合する。
01:01.070 --> 01:04.220
私たちが昔、 サマライザーAを書いたのを覚えているだろう。
01:04.250 --> 01:07.610
インターネットのリーダーズ・ダイジェストが私たちの週だった。
01:07.610 --> 01:10.310
ある日、 即座に満足した。
01:10.460 --> 01:13.070
まあ、 我々はそれをさらに2段階ほど進めている。
01:13.400 --> 01:15.980
ええと、 それが今日のプランなんだ。
01:15.980 --> 01:21.740
そしてその多くは、 やはり修正と構築、 そして実験になるだろう。
01:21.980 --> 01:26.270
そこで、 構造化されたアウトプットについて少し言わせてほしい。
01:26.300 --> 01:27.590
つまり、 構造化されたアウトプットだ。
01:27.590 --> 01:30.710
過去にJSON生成を使っていたのを覚えているだろうか。
01:30.710 --> 01:35.960
モデルにJSONの出力フォーマットで応答させたいと言いました。
01:35.960 --> 01:40.070
そして、 プロンプトの中で、 そのJSONがどのように見えるべきかを正確に記述する。
01:40.070 --> 01:43.070
それに100%信頼できるものでもない。
01:43.100 --> 01:44.600
実際、 とてもいいんだ。
01:44.600 --> 01:50.270
JSONで応答することが多いんだ。
01:50.540 --> 01:55.580
しかし、 それがおかしくなり始めるのは、
01:55.610 --> 02:03.680
本当に複雑なオブジェクトに反応させる必要がある場合だ。
02:03.680 --> 02:11.490
つまり、 構造化出力のアイデアは、 モデルがどのように反応すべきかを正確に指定することをより指示的にすることだった。
02:11.490 --> 02:19.500
Pythonのクラスを使ってレスポンスを定義するのですが、 実はこのクラスはPydanticのbase
02:19.500 --> 02:28.800
modelというもののサブクラスになります。
02:28.800 --> 02:30.240
そうでなければ、 お見せしましょう。
02:30.510 --> 02:36.990
ベースモデルのサブクラスを作り、 そのサブクラスを使って、 探しているものを正確に記述するんだ。
02:37.110 --> 02:47.970
そして、 OpenAIを呼び出すときにそのクラスを指定すると、 OpenAIはそのクラスのインスタンスを作成してあなたに送り返します。
02:48.480 --> 02:55.980
つまり、 必要な構造のデータを正確に生成するのに便利なんだ。
02:56.010 --> 03:05.580
これは、 別のアプローチと比較する必要がある。
03:05.760 --> 03:11.980
この2つは、 モデルからの反応に特定の、 ええと、 ええと、 構造のタイプが戻ってくるようにするための、
03:11.980 --> 03:16.840
よく似たテクニックなんだ。
03:16.840 --> 03:19.060
そして、 そのどちらにも長所と短所がある。
03:19.390 --> 03:26.020
一般的に言えば、 モデルをアプリケーションコードに直接接続し、 特定のメソッドシグネチャを持つ必要がある関数を呼び出すのであれば、
03:26.020 --> 03:35.980
関数呼び出しとツールを使うことをお勧めします。
03:35.980 --> 03:41.800
なぜなら、 関数を呼び出すための適切なパラメータを定義したJSON構造に従って、
03:41.800 --> 03:46.390
絶対に応答してくれるからだ。
03:46.420 --> 03:53.140
もし、 下流で使用するために特定のフォーマットでデータを生成しようとするのであれば、
03:53.140 --> 03:56.860
構造化されたアウトプットが適している。
03:56.980 --> 04:01.900
長所と短所を挙げればきりがないし、 しばらく試してみて、
04:01.930 --> 04:07.060
どちらが優れているかがわかるようになるものだ。
04:07.150 --> 04:10.480
それではJupyterLabに向かいましょう。
04:10.480 --> 04:12.700
自分たちで試してみるつもりだ。