WEBVTT 00:00.110 --> 00:02.570 そこでGPT4に電話をかける。 00:02.600 --> 00:11.000 ああ、 これはリンクのセットに目を通し、 どれが関連性のあるリンクかを把握し、 完全修飾リンクに置き換えるように要求しているのだ。 00:11.270 --> 00:18.740 特に、 どのリンクが関連性があるのかを選択する必要があるからだ。 00:18.740 --> 00:21.620 一種のニュアンスのある推論プロセスが必要なのだ。 00:21.890 --> 00:27.560 この目的のためにGPT 4を使うだけでなく、 必要な情報を正確に指定する方法で、 00:27.560 --> 00:35.390 JSONの形で応答するよう依頼するつもりだ。 00:35.420 --> 00:45.080 さて、 この後、 構造化出力と呼ばれるテクニックを取り上げますが、 これはLLMに非常に特殊なフォーマットでの応答を要求する場合です。 00:45.110 --> 00:48.950 私たちは効果的に、 応答するために必要なフォーマットを指定する。 00:48.980 --> 00:50.300 今日はやらない。 00:50.300 --> 00:52.670 単純にJSONを返してもらうだけだ。 00:52.700 --> 00:56.000 そして、 返信に必要な書式を指示する。 00:56.000 --> 00:57.380 素晴らしいものになるだろう 00:57.410 --> 01:00.590 ええと、 このような単純なリクエストには効果的です。 01:00.590 --> 01:04.120 もっと高度になると、 構造化出力を使う必要が出てくるかもしれない。 01:04.120 --> 01:09.370 第8週では、 エージェントAIのフレームワークを構築する。 01:09.370 --> 01:11.560 でも今は、 これが僕らの仕事だ。 01:11.560 --> 01:14.290 そこで、 システム・プロンプトを作成することにする。 01:14.350 --> 01:19.960 システム・プロンプトはもちろん、 目の前のタスクと、 それをどのように進めるかを説明する場所だ。 01:19.960 --> 01:22.570 そこでこの情報を提供することになる。 01:22.570 --> 01:24.250 これがシステム・プロンプトだ。 01:24.280 --> 01:28.720 ウェブページにあるリンクのリストが提供される。 01:28.720 --> 01:34.810 これらのリンクのうち、 会社概要ページや会社ページ、 採用情報ページへのリンクなど、 01:34.810 --> 01:41.800 会社案内のパンフレットに掲載するのに最もふさわしいものはどれかを決めることができます。 01:41.830 --> 01:46.210 この例のようにJSONで応答してください。 01:46.210 --> 01:49.150 そして、 渡された例がある。 01:49.150 --> 01:54.400 一発プロンプトで作業していると言ったのは、 01:54.400 --> 02:07.000 アバウトページやキャリアページで使用できる具体的な例を示したというのが本当の意味です。 02:07.030 --> 02:09.880 属性リンクは1つになる。 02:09.880 --> 02:16.570 そしてそのリンクは、 それぞれの辞書に種類とURLが記載された再度の辞書のリストになる。 02:16.570 --> 02:19.420 そしてそのURLは完全なURLである。 02:19.420 --> 02:21.430 では、 このセルを走らせてみよう。 02:21.430 --> 02:27.190 念のため、 リンクのシステム・プロンプトをプリントしておこう。 02:27.190 --> 02:28.840 これで変数ができた。 02:28.840 --> 02:31.330 そして、 その変数に含まれているのがこれだ。 02:31.330 --> 02:32.410 印刷するんだ。 02:32.440 --> 02:34.540 キャリッジリターンも取得する。 02:34.540 --> 02:35.830 これを見てみよう。 02:36.910 --> 02:37.990 これだ。 02:38.500 --> 02:44.890 だから、 システム・プロンプトでLLMに指示するのはまさにこれなのだ。 02:45.370 --> 02:50.110 次に、 ユーザー・プロンプトのリンクを取得する関数を書いてみよう。 02:50.110 --> 02:51.400 そして、 こんな感じだ。 02:51.430 --> 02:53.770 ウェブサイト・オブジェクトを取る。 02:53.770 --> 02:59.800 そして、 ここには「blah」のウェブサイト上のリンクのリストが表示される。 03:00.070 --> 03:04.630 会社案内に関連するウェブリンクを決定してください。 03:04.660 --> 03:17.160 あなたのURLは含めないこと、 含めないことをいくつか挙げて、 リンクをひとつずつリストアップして返す。 03:17.160 --> 03:20.490 だから、 これは実際の例を見ればもっと理解できるだろう。 03:20.490 --> 03:26.580 では、 リンクス・ユーザー・プロンプトを取得して、 エディターを渡すことにしよう。 03:26.580 --> 03:27.510 これはこの上ですか? 03:27.510 --> 03:29.520 これらのリンクを見ることになる。 03:29.520 --> 03:32.100 では、 このユーザー・プロンプトがどんなものか見てみよう。 03:32.130 --> 03:34.800 そして、 これを実行して感覚をつかむべきだ。 03:34.800 --> 03:36.930 ユーザー・プロンプトはこのように表示される。 03:36.960 --> 03:40.020 今言ったことと同じことが書いてあって、 申し訳ない。 03:40.110 --> 03:45.270 このウェブサイトを見ている、 あの素晴らしいウェブサイトを見ている、 と教えてくれるんだ。 03:45.540 --> 03:47.430 それから、 ここにリンクがある。 03:47.430 --> 03:55.080 中には相対的なものもあるかもしれないので、 まとめるべきだし、 関連性のあるものを選ぶべきだ。 03:55.680 --> 03:56.580 オーケー。 03:56.610 --> 04:01.920 そして今、 このすべてをOpenAIを呼び出す関数に入れる時だ。 04:01.920 --> 04:04.890 そして、 ここにリンクのURLがある。 04:04.890 --> 04:08.430 そこで、 そのURLに対して新しいウェブサイト・オブジェクトを作成する。 04:09.120 --> 04:11.130 そして今、 私たちはこう呼んでいる。 04:11.130 --> 04:15.930 前回は手短に済ませたが、 今回はもう少し時間をかけよう。 04:15.930 --> 04:24.330 OpenAIのチャットを呼び出します。 これは、 チャットの完了のための主要なAPIで、 私たちがほとんど常に使うものです。 04:24.330 --> 04:33.720 APIは標準APIで、 あなたのタスクはこの会話を続けることです。 04:33.720 --> 04:42.690 そして、 completion APIで何かを作成し、 先ほどと同じようにモデルを受け取り、 そのモデルをメッセージで送ります。 04:42.690 --> 04:43.410 それは変数だった。 04:43.410 --> 04:46.350 GPTのミニ4枚を最初にセットした。 04:46.410 --> 04:47.820 メッセージ 04:47.820 --> 04:51.120 もうお分かりいただけただろうか。 04:51.120 --> 04:56.370 メッセージに使うフォーマットは辞書のリストだ。 04:56.400 --> 05:08.670 これは辞書のリストであり、 各辞書は、 システムまたはユーザー、 関連するシステム・メッセージまたはユーザー・メッセージのキー・コンテンツを持つキー・ロールを持つ。 05:08.670 --> 05:09.270 だから 05:09.270 --> 05:11.600 システムシステムメッセージユーザー。 05:11.630 --> 05:15.890 メッセージリストに表示されるユーザーメッセージ。 05:15.890 --> 05:17.360 簡単なことだ。 05:17.360 --> 05:20.300 これがあなたにとって完全につながることを願っている。 05:20.330 --> 05:28.010 細かいことだが、 1つだけ特別なことがある。 05:28.100 --> 05:34.970 だから、 OpenAIに、 レスポンスにJSONオブジェクトを返すように指示することができる。 05:34.970 --> 05:39.500 そのためには、 JSONオブジェクトを渡す。 05:39.500 --> 05:45.800 クロードはJSONオブジェクトを要求するようなことはしない。 05:45.890 --> 05:46.940 OpenAIはそうだ。 05:46.940 --> 05:56.570 しかし、 OpenAIのドキュメントには、 これを使う場合でも、 JSONレスポンスが必要であることをプロンプトに記載することが重要であると記載されています。 05:56.570 --> 06:00.950 これは、 プロンプトにそのことを明記している場合にのみ機能する。 06:01.700 --> 06:03.620 だからそうするんだ。 06:03.650 --> 06:06.440 戻ってきたものは、 この変数コンプリートに入る。 06:06.440 --> 06:12.770 実は、 前回と一貫性を保つために、 前回そう呼んでいたので、 レスポンスに変更しようと思う。 06:14.540 --> 06:15.410 これでよし。 06:15.590 --> 06:24.080 そして、 最終的な返答を得るために、 ドット選択肢ゼロを選ぶ。 06:24.080 --> 06:25.490 それで、 これは何なんだ? 06:25.490 --> 06:36.890 まあ、 実際にAPIリクエストで複数のバリエーションをリクエストすることは可能だ。 06:36.890 --> 06:37.970 私たちはそれをやっていない。 06:37.970 --> 06:39.680 だから1本しか返せない。 06:39.740 --> 06:43.250 そして、 そのバリエーションが選択肢という形で戻ってくる。 06:43.250 --> 06:44.840 でも、 1人しかいない。 06:44.840 --> 06:50.000 つまり、 選択肢ゼロは、 唯一無二の選択肢である。 06:50.000 --> 07:00.050 そのため、 常にレスポンス・ドット・チョイス・ゼロ・ドット・メッセージ・ドット・コンテンツが表示されるわけだが、 これは単に、 実際にテキストメッセージが返されるところまでドリルダウンしているだけである。 07:00.050 --> 07:06.680 APIを呼び出すのは何度も何度も同じだからだ。 07:06.710 --> 07:12.410 OpenAIのドットチャット、 ドットコンプリート、 ドットクリエイト、 そして返ってくるのはレスポンスのドットチョイス、 07:12.410 --> 07:16.840 ゼロメッセージのコンテンツだ。 07:17.380 --> 07:21.370 寝ている間に暗唱するようになるだろう。 07:21.700 --> 07:31.150 そして、 戻ってきたものにはJsonを使う。 文字列をロードして、 それをJSONとして戻す。 07:31.180 --> 07:32.710 それを実行しよう。 07:32.980 --> 07:33.910 オーケー。 07:33.910 --> 07:35.290 だから、 思い切ってやるんだ。 07:35.290 --> 07:40.210 その関数を呼び出して、 ウェブサイト "anthropic comm "を渡す。 07:40.210 --> 07:41.770 では、 何を期待しているのか。 07:41.800 --> 07:50.950 そのページ上のすべてのリンクを収集し、 GPTフォーミニを呼び出して、 この中から関連性があると思われるリンクをいくつか選んで回答してください、 07:50.950 --> 07:57.460 と言うことを期待しています。 07:57.460 --> 07:58.990 では、 何が出てくるか見てみよう。 07:59.020 --> 07:59.890 さあ、 始めよう。 08:01.210 --> 08:02.860 今、 OpenAIに行っている。 08:02.890 --> 08:06.550 まず、 人類学のページを集めなければならなかった。 08:06.550 --> 08:09.910 そして、 これがアバウトページのタイプだ。 08:09.910 --> 08:17.980 そして、 会社概要ページ、 採用情報ページ、 チームページ、 リサーチ・エンタープライズ価格、 API、 ニュースへのリンクがある。 08:17.980 --> 08:18.760 どうだ? 08:18.760 --> 08:26.380 これはすべて、 パンフレットに掲載したい素晴らしい情報であり、 掲載されていないリンクが山ほどあることは間違いない。 08:26.380 --> 08:28.270 そう自分を納得させよう。 08:28.270 --> 08:37.330 人間工学はウェブサイトであり、 これを渡すだけだ。 08:39.700 --> 08:47.500 そして、 "anthropic dot links "をクリックすると、 そのページにあったすべてのリンクが表示されます。 08:47.500 --> 08:48.310 みんなそうだ。 08:48.340 --> 08:52.360 支援された国とか、 他にもたくさんある。 08:52.360 --> 08:58.690 また、 ホスト名を含む完全なURLになっていないものが多いこともわかるだろう。 08:58.690 --> 09:09.490 そして、 GPT4ミニへの問い合わせは、 これらのサブセットを非常にうまく選択し、 完全に修飾して、 それらが何であるかを説明していることがわかるだろう。 09:10.060 --> 09:11.470 素晴らしい結果だと思う。 09:11.470 --> 09:17.380 これは、 会社案内を作るために必要な2つのステップのうち、 第1ステップに過ぎない。 09:17.380 --> 09:19.900 ステップ2については、 また次のビデオで。