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.
 
 

259 lines
10 KiB

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
道具を使ってやるんだ。 その方法を見つけるためにラボで会おう。