WEBVTT 00:01.040 --> 00:04.340 さて、 第2週4日目もお付き合いいただきありがとうございました。 00:04.370 --> 00:06.920 今日はいいことがたくさんある。 00:06.920 --> 00:19.490 重要なビジネス価値を生み出すためにLlmsを活用する能力を高める、 新たなスキルを身につけるためのレベルアップの日だ。 00:19.940 --> 00:26.240 いつものように、 トランスフォーマーについてすでに説明できることと、 それに関係する用語を簡単にまとめてみた。 00:26.240 --> 00:27.290 よくご存知でしょう。 00:27.290 --> 00:33.920 上位3つのフロンティアモデルのAPIを使って自信を持ってコーディングし、 最近ではチャットボットアシスタント、 00:33.920 --> 00:37.670 対話型UIを含むAIチャットボットを構築している。 00:37.670 --> 00:43.400 そして、 OpenAIに入るメッセージの構造や、 Gradioのチャット機能の仕組みは、 00:43.400 --> 00:46.130 もうよくご存知でしょう。 00:46.310 --> 00:49.880 というわけで、 今日は道具というものについて。 00:49.880 --> 00:57.650 最後には、 それらを定義し、 そのための一般的な使用事例を持ち、 ツールを使用するAIアシスタントをコーディングできるようになるでしょう。 00:57.650 --> 00:58.910 さっそく始めよう。 00:59.570 --> 01:02.420 では、 道具とは何か? 01:02.900 --> 01:11.780 そのため、 フロンティア・モデルは、 フロンティア・モデルの外部にある機能を持つ外部関数と接続することができる。 01:11.810 --> 01:14.570 実際、 道具とはもっと広い意味を持つこともある。 01:14.570 --> 01:15.650 他のことでもあり得る。 01:15.680 --> 01:23.870 しかし、 一般的にツールについて語られるとき、 それはフロンティア・モデルに外部機能へのアクセスを与えるという文脈で語られることが多い。 01:23.870 --> 01:32.300 LLMの知識を拡張することで、 LLMからのリッチな返信を可能にし、 アプリケーション内で高度なアクションを実行させ、 01:32.330 --> 01:39.380 例えば電卓を持たせることでその能力を高めることができます。 01:39.530 --> 01:44.510 だから、 前回の最後に言ったように、 これはとてもミステリアスに聞こえるかもしれない。 01:44.510 --> 01:47.090 いったい何がどうなっているのか? 01:47.090 --> 01:54.860 電卓のようなもの、 計算ができる関数のようなものを作ろうと思っているんだ。 01:54.860 --> 01:59.960 そして、 それをLLMに渡して、 オーケー、 これを使っていいよ、 と言うんだ。 01:59.960 --> 02:03.140 このソフトを私のコンピューターで何らかの方法で動かすことができる。 02:03.140 --> 02:05.210 ミステリアスな響きだ。 02:05.210 --> 02:06.860 ちょっと不気味な感じだね。 02:06.920 --> 02:09.790 でも、 残念ながら、 そうではないんだ。 02:09.790 --> 02:10.930 それほど賢くはない。 02:10.930 --> 02:13.840 このあたりのワークフローはいたってシンプルだ。 02:13.870 --> 02:15.130 これがスクープだ。 02:15.130 --> 02:24.220 まずは、 LM が呼び出すことのできる関数を定義することから始めます。 02:24.220 --> 02:25.900 そこで、 これらの関数を定義する。 02:25.900 --> 02:27.100 電卓があるとしよう。 02:27.100 --> 02:28.390 私たちは計算機を定義する。 02:28.390 --> 02:32.920 何がインプットで、 どのようなアウトプットがあり、 LMはいつそれを使うべきなのか。 02:33.010 --> 02:36.550 そして、 そのことをLMに伝える。 02:36.550 --> 02:42.430 私たちが何かをするために呼びかけるとき、 私たちはそれに向かってこう言う。 02:42.430 --> 02:45.760 ところで、 あなたはこのツールにアクセスできる。 02:45.790 --> 02:51.970 LMから返信があった場合、 ただプロンプトを表示するか、 あるいは、 もし私があなたに返信を返すのであれば、 02:51.970 --> 02:57.490 まず、 あなたが教えてくれたツールを実行し、 これらのインプットを使って実行し、 02:57.490 --> 03:03.310 私にアウトプットを返すようにお願いする必要があります。 03:03.310 --> 03:14.770 そして、 そのツールを実行し、 LMにレスポンスを返す。 03:14.860 --> 03:20.140 というわけで、 私の流れに従えば、 実は特別すごいわけではないのだ。 03:20.140 --> 03:24.850 LMに電話をかけると、 LMが応答して、 あなたが持っていると言ったツールに電話をかけてほしい、 03:24.850 --> 03:25.570 と言うんだ。 03:25.600 --> 03:31.630 そうすれば、 LMにそれをフィードバックし、 LMはよりリッチなレスポンスを返してくれるようになる。 03:32.320 --> 03:38.620 そして、 もしあなたが本当についてきてくれているのなら、 前回のラボでやったような、 03:38.650 --> 03:52.330 ただ文字列を探してLMに行くプロンプトに余計なコンテキストを挿入するようなことと大差ないことに気づくだろう。 03:52.360 --> 03:52.930 分かった。 03:52.960 --> 03:57.820 とにかく、 私があなたを混乱させなければいいのだが。 03:58.630 --> 04:00.550 その前に、 どのような使用例があるのか。 04:00.550 --> 04:02.500 普通はいつやるんだ? 04:02.500 --> 04:07.150 よく目にするのは4つ。 04:07.330 --> 04:15.100 例えば、 データベースで何かを調べたり、 知識を追加したり。 04:15.100 --> 04:19.720 前回のラボでベルトを使ったのと似たようなものだが、 04:19.720 --> 04:23.800 代わりに道具を使うことができる。 04:24.370 --> 04:34.120 ミーティングの予約など、 LMが行動を起こすための手段として使うことができる。 04:34.120 --> 04:41.710 あなたには、 実際に、 えー、 これらを実行する能力がある。 04:41.860 --> 04:47.050 そして、 基本的には、 その返答の中で、 今言ったように、 04:48.580 --> 04:51.880 ユースケースは電卓である。 04:51.880 --> 04:59.530 LMSは計算が苦手なことで有名だが、 それは英語のトークンを予測しようとしているからだ。 04:59.530 --> 05:04.360 ディープ・ニューラル・ネットワークに電卓が組み込まれているわけではないのだ。 05:04.360 --> 05:07.090 でも、 それをツールとして提供することはできる。 05:07.270 --> 05:13.240 そして、 GPTの4番は最近、 計算がとても上手くなっていることにお気づきだろう。 05:13.240 --> 05:17.800 そして、 舞台裏で進行していることは、 このようなことなのではないか、 計算を実行するために独自のツールを用意しているのではないか、 05:17.800 --> 05:22.020 と考えてしまう。 05:22.020 --> 05:26.010 憶測にすぎないかもしれないが、 非常に合理的だと思う。 05:27.090 --> 05:34.260 もうひとつできることは、 UIを変更することだ。 05:34.260 --> 05:39.390 ユーザー・インターフェースのさまざまな情報を更新する関数を呼び出すことができる。 05:39.390 --> 05:51.600 これは、 LLMとUIをより緊密に統合させるためのかなりクールなアイデアだ。 05:52.740 --> 06:00.090 繰り返しになるが、 2つ目と4つ目のアクションとUIの変更については、 06:00.090 --> 06:03.660 別の方法がある。 06:03.660 --> 06:09.090 それだけなら、 もっとシンプルな方法かもしれない。 06:09.210 --> 06:16.470 前にやったことを踏まえて、 私が何を言いたいのか、 ちょっと立ち止まって考えてみてください。 06:17.070 --> 06:24.740 答えは、 ええと、 以前のラボの1つで、 構造化されたレスポンスで応答するためにモデルにJSONで応答させ、 そのレスポンスにはJSONがあり、 06:24.740 --> 06:29.900 私たちに情報の断片を伝えていたのを覚えていますか? 06:29.900 --> 06:36.440 私たちの場合、 それはリンクとあーに関するもので、 完全修飾リンクとどのリンクを収集するかについての詳細な情報を与えてくれた。 06:36.470 --> 06:46.790 同じように、 ミーティングを予約するために必要なアクションをJSONで応答するようにモデルに要求したり、 ユーザーインターフェイスをどのように変更したいかに基づいてJSONで応答したりすることができます。 06:46.790 --> 06:50.690 だから、 道具を使う以外の方法もある。 06:50.690 --> 06:55.970 しかし、 テキストをストリーミングで送り返すだけでなく、 ツールも与えたいのであれば、 これは良い解決策だ。 06:55.970 --> 07:01.730 それこそ、 LMが行っている他の様々なことと連動しているときこそ、 これを使うベストなタイミングなのだ。 07:01.730 --> 07:05.600 だから、 これらのツールはその能力をさらに高めているんだ。 07:06.800 --> 07:13.250 そこで、 私たちがこれからやろうとしているのは、 情報に精通した航空会社のカスタマーサポートを作ることだ。 07:13.250 --> 07:21.170 パリに旅行することを伝えて、 パリまでのチケット代を返信してもらえるようにしたい。 07:21.170 --> 07:22.310 そういうことだ。 07:22.310 --> 07:26.960 道具を使ってやるんだ。 その方法を見つけるためにラボで会おう。