先週は､ コードを60,000倍高速化できるモデルを扱った｡
そして､ 今週末には､ 私が用意したものを見て､
さらに感動してくれることを期待している｡
だから､ ボロ雑巾の回収がすべてなんだ｡
もちろん､ フロンティア・モデルを使ったコードや､ 顔を包み込むようなトランスフォーマーを使ったコードなど､
すでにできることはある｡
プロジェクトに適したLLMを選択し､ コードを生成するソリューションを構築しよう｡
今日は､ ラグ検索拡張世代の大きなアイデアについて学ぶことにしよう｡
その前に､ ボロ雑巾の背後にある小さなアイデア､ 実はごく当たり前のことなのだが､
その小さなアイデアについても話しておこうと思う｡
実際､ あなた自身もすでに考えているかもしれない｡
そして､ 小さなアイデアを使ってラグのおもちゃバージョンを実装するんだ｡
だから､ どのように機能するのか､ 実にいい感触を得ることができる｡
来週を前に､ 本題に入る｡
まず､ ボロ布の背後にある直感の一部を紹介しよう｡
プロンプト､ つまりモデルに送る情報を充実させることで､ モデルのパフォーマンスをより強力なものにできることはすでに見てきた｡
私たちはいくつかの方法でそれを実現した｡
私たちはマルチショット・プロンプトを使って､ 一連の質問と回答の例をモデルに送りました｡
私たちはツールを使って､ LLMが私たちのコードにコールバックできるようにした｡
また､ システム・プロンプトを含め､ LLMに送る内容の一部として追加的なコンテキストを提供する方法は他にもあった｡
つまり､ もっと具体的な情報をプロンプトに提供することで､ このアイデアをステップアップさせ､ 新たなレベルに引き上げることはできないか､
ということだ｡
それは､ 今の質問と特に関係がありそうだ｡
つまり､ 情報をデータベース化できないか､
ということだ｡
そして､ ユーザーから質問を受けるたびに､ まずナレッジ・ベースで関連する情報がないかどうかを調べ､
それを引き出す｡
もしプロンプトがあれば､ それをプロンプトに詰め込み､ プロンプトをモデルに送信する｡
それだけだ｡
これは実はとてもシンプルなアイデアで､ おそらく､ 以前の練習をやっているときに､ すでに自分で考えたことだろう｡
だから､ ボロ布の背後にあるこの小さなアイデアを図で示すだけにしておこう｡ 後で､
より大きなアイデアにたどり着くことを約束しよう｡
しかし､ ちょっとしたアイデアでは､ 私たちが言っているのは､ ユーザーが私たちに質問することから始めようということだ｡
それは私たちのコードに反映され､ 通常はそれをそのままLLMに送ることになる｡
しかし今回は､ その前にナレッジベースに問い合わせを行い､ 関連する背景情報があるかどうかを確認する｡
そうすれば､ その情報を抜き出し､ プロンプトに盛り込む｡
LMを送信すると､ もちろんいつものように返事が返ってくる｡
そしてそれがユーザーに還元される｡
ラグの背後にある小さなアイデアは本当にそれだけだ｡
そこで､ これからこれを小さなアイデアの例で実践してみよう｡
私たちが保険テックの新興企業に勤めているとしよう｡
そして､ それは保険という架空の保険テック・スタートアップになる｡
そしてLMの詰め物､ これが私の創造性の限界だと思う｡
会社の共有ドライブから取り出したフォルダーの形で､ ナレッジベースを持っています｡
それは彼らの共有ドライブの全コンテンツであり､ 我々の仕事はAIナレッジワーカーを構築することだ｡
このナレッジ・ワーカーという表現は､ 企業で働く専門家であり､
企業に関する情報の分析や質疑応答ができる人という意味で使われることもある｡
まあ､ それはLLMがあればできることだ｡
そして､ 知識ベースからの情報でそれを補うことができる｡
そこで､ 玩具を使った鈍器を使うことにする｡
ええと､ 基本的には､ これらのファイル､ 製品､ 従業員の一部を読むことになる｡
そして､ それを辞書のように格納する｡
そして､ 質問が来るたびに､ その質問のどこかに従業員の名前が出てくるかどうかを調べます｡
もしそうなら､ その従業員記録をすべてプロンプトに押し込むことになる｡
ラグの実装は手作業で力技のようなものだが､ これが舞台裏で実際にどのように機能しているのか､
よく理解できるだろう｡
そして､ そこには何の魔法もないことを教えてくれる｡
ただ､ すぐにモデルのパフォーマンスが向上する｡
それが終わったら､ もっとエキサイティングなことに取り掛かる｡
しかし今は､ JupyterLabに行き､ 自作のボロ布を作ってみよう｡