WEBVTT 00:02.030 --> 00:07.640 さて、 2日目のJupyter LabでRagのワークフローを完成させる時が来た。 3. 00:07.670 --> 00:13.490 このGetprice関数は、 文字列を受け取ってそこから浮動小数点数を取り出すという超シンプルなもので、 00:13.490 --> 00:17.690 もうお馴染みですね。 00:17.690 --> 00:21.620 そして今度はGPT for miniの機能だ。 00:21.830 --> 00:26.600 私たちがしていることは、 書類と値段を言うことです。 00:26.600 --> 00:27.860 だからアイテムで渡される。 00:27.860 --> 00:30.200 その項目に似たものを見つける。 00:30.200 --> 00:35.570 そしてOpenAI chat dot completions dot createと呼ぶ。 00:35.660 --> 00:38.210 ミニにはGPTを指定する。 00:38.240 --> 00:42.290 メッセージはmessages forという関数を使って渡す。 00:42.410 --> 00:43.400 そして種を与える。 00:43.400 --> 00:45.110 5トークンを返してほしい。 00:45.110 --> 00:50.690 そして返ってきたものは、 レスポンス・ドット・チョイス・ゼロ・ドット・メッセージ・コンテンツと言う。 00:50.690 --> 00:57.050 そして、 そこから番号を抜き出すために、 返信に価格を求める電話をかける。 00:57.170 --> 00:59.420 それがすべてだ。 00:59.420 --> 01:02.670 ここで夢中になる前に、 ひとつ試してみよう。 01:02.970 --> 01:15.810 ええと、 じゃあ、 GPTの4番ミニボロで、 今見たクラッチのテスト1回でパスします。 01:16.110 --> 01:18.360 何が返ってくるか見てみよう。 01:19.470 --> 01:30.000 ええと、 201ドルと45ドルが返ってきました。 では、 実際のところ、 テスト・ワン・ドット・プライスはいくらなのか見てみましょう。 01:32.160 --> 01:33.540 かなり近いよ。 01:33.540 --> 01:34.530 かなり近いよ。 01:34.530 --> 01:35.610 あれを見ろ。 01:35.910 --> 01:39.930 とても素早く走れるのが素晴らしい。 01:39.930 --> 01:41.880 そして、 そこで起こったことのすべてを見ることができる。 01:41.880 --> 01:44.610 似たような項目を5つも調べた。 01:44.610 --> 01:55.230 OpenAIに送信するプロンプトには、 類似した5つのアイテムのコンテキストを組み込んだ。 01:55.230 --> 02:00.600 そして電話をかけ、 返事が返ってきて、 値段を抜き出し、 いくらかかったかを教えてくれた。 02:00.600 --> 02:02.640 そして、 かなり近づいた。 02:02.650 --> 02:03.700 そういうことだ。 02:03.730 --> 02:06.610 以前のテスターを覚えているだろうか? 02:06.640 --> 02:12.370 250の、 えー、 トップの、 えー、 テスト結果をテストするための私たちのフレームワーク。 02:12.400 --> 02:14.860 そして、 私たちがモデルを発表した場所を覚えているだろうか? 02:14.890 --> 02:16.810 あー、 確かに考えるのは怖いね。 02:16.840 --> 02:21.490 しかし、 フロンティア・モデルには大きなメリットがある。 02:21.490 --> 02:23.410 ええと、 これでどうなるんですか? 02:23.410 --> 02:28.000 では、 この時点で走らせて、 どうなるか見てみようか? 02:28.060 --> 02:31.690 そうこうしているうちに出発するんだ。 02:31.690 --> 02:34.750 そして、 ここにはすでにたくさんのグリーンが見える。 02:34.810 --> 02:38.110 ええと、 もちろん、 多くの情報を得るためだ。 02:38.110 --> 02:42.640 エージェント・フォルダーで私がやったことをお見せしたい。 02:43.120 --> 02:49.390 Agentフォルダの中に、 Frontier Agentというものを作りました。 これは、 02:49.390 --> 02:54.130 今見てきたコードをそのまま本番用のコードにしたものです。 02:54.130 --> 03:00.730 この赤い海を見ればわかるように、 コメントを入れている。 これは重要なステップであり、 03:00.730 --> 03:08.660 ヒントを入れることで、 途中で何をしているのかがわかるようにしている。 03:08.810 --> 03:13.190 そして、 見ていくとわかるが、 とてもシンプルだ。 03:13.190 --> 03:14.330 同じものだよ。 03:14.330 --> 03:23.330 Make context は、 プロンプトメッセージに挿入するコンテキストを作成し、 そのオープンAIフォーマットでメッセージリストを作成する。 03:23.450 --> 03:30.500 各パラメーターにコメントを付けて、 何が返されるかを指定するこの方法には慣れているかもしれない。 03:30.830 --> 03:37.670 また、 文字列のリストや、 文字列をキーとし文字列を値とする辞書のリスト、 そしてクロマ・ゲット・プライスで検索し、 03:37.760 --> 03:49.820 指定されたものに類似したアイテムのリストを返すfind similaresを指定する、 より洗練された型ヒントもここで見ることができる。 03:49.820 --> 03:50.600 私たちはそれをよく知っている。 03:50.600 --> 03:54.410 そして最後に、 このプライスメソッドだ。 03:54.650 --> 04:02.900 スーパークラスであるエージェントのサブクラスであるFrontier 04:03.050 --> 04:07.850 Agentというクラスの一部である。 04:07.850 --> 04:13.730 そしてまた、 Jupyterの世界からよりプロダクション・レディなコードに移行することの違いを理解するための学習の一環として、 04:13.730 --> 04:18.770 このようなジャンプをするのです。 04:18.800 --> 04:25.580 そして通常、 VSCodeやPyCharmのようなツールでこれを構築することになる。 04:25.610 --> 04:31.400 私はPyCharmを愛用することが多いが、 JupyterLabを使うこともできる。 04:31.400 --> 04:37.580 Jupyter Labでコードを書くこともできるが、 この種のことのために設計され、 より良くするアイデアがある。 04:37.580 --> 04:43.250 そして、 どんなコメントを書けばいいか、 あなたのプロンプトを埋めていくようなこともする。 04:43.250 --> 04:46.580 だから、 ここまで来たらIDEを使う価値がある。 04:47.300 --> 04:48.260 分かった。 04:48.290 --> 04:53.900 うまくいっているのかどうか、 十分な時間、 おしゃべりできたと思う。 04:55.250 --> 04:56.210 もうすぐだ。 04:56.210 --> 04:56.990 もうすぐだ。 04:56.990 --> 04:58.670 そうだ。 04:58.790 --> 05:02.900 さて、 ここで気づいたことがある。 05:02.900 --> 05:10.980 まず第一に、 GPT4ミニやラグなしのGPT4よりも大幅に優れている。 05:10.980 --> 05:21.330 私たちは大きく舵を切ったが、 まだ、 そこで展開したフロンティア・モデルの微調整がうまくいっている段階だ。 05:21.420 --> 05:26.610 だから、 ボロパイプラインをベースにしたGPTの4人にもまだ勝てるんだ。 05:26.880 --> 05:31.860 しかし、 ラグ・パイプラインが健闘し、 ここまで近づいたのは素晴らしいことだ。 05:32.130 --> 05:35.400 だから、 ここに美しいチャートのようなものを見ることができる。 05:35.700 --> 05:37.740 とても楽しかった。 05:37.800 --> 05:41.880 ああ、 それを楽しんで、 同じものを見てほしい。 05:41.880 --> 05:46.290 このコードに目を通して、 作成されたプロンプトを見て、 これらのプロンプトのいくつかをプリントアウトして、 05:46.290 --> 05:52.890 私たちが基本的に、 よりマニュアルに近い方法で行ってきたことを納得してください。 05:52.890 --> 05:59.340 ラング・チェーンが以前自動化してくれていたことを、 まさにラッパー・コードで実現したのだ。 05:59.340 --> 06:04.440 私たちは現地に赴き、 ある品物を手に取り、 似たような品物を5つ見つけた。 06:04.440 --> 06:06.760 私たちはそれをいくつかの文脈にまとめました。 06:06.760 --> 06:08.950 そして、 これがGPT4に送ったものだ。 06:09.220 --> 06:14.470 そうすることで、 そうしなかったときよりも格段に良い結果が得られた。 06:14.500 --> 06:16.960 もちろん、 試してみた。 06:16.960 --> 06:18.970 5分でパスした。 06:19.030 --> 06:20.020 結果 06:20.020 --> 06:22.090 これがハイパーパラメーターと呼ばれるものだ。 06:22.090 --> 06:24.130 その10人にしたらどうなるかを探ることができる。 06:24.160 --> 06:25.630 二つにしたらどうなる? 06:25.750 --> 06:28.810 5点ということは、 これでも超安いということだ。 06:28.810 --> 06:30.820 これだけやっても1セントか2セントだ。 06:31.120 --> 06:31.750 もちろん、 そうすべきだ。 06:31.780 --> 06:34.510 万が一、 価格設定が異なるかもしれないので、 自分で確認するべきだが。 06:34.510 --> 06:35.980 でも、 とても安いんだ。 06:36.160 --> 06:38.590 うーん、 10回にしたら、 そうなり始めるだろうね。 06:38.620 --> 06:39.850 その倍はかかるだろう。 06:40.030 --> 06:43.600 実際にはその倍は下らないが、 もう少し高くなる。 06:43.600 --> 06:51.700 だから、 無理のない範囲でいろいろ試してみて、 どう思うか、 どうなるか試してみる価値はあると思う。 06:51.730 --> 07:06.670 とにかく、 これでボロ布のパイプラインは終わり。 07:06.670 --> 07:06.670 4で、 再びランダムフォレストとアンサンブルモデルについて話し始める。 07:06.700 --> 07:07.600 ではまた