生成 Ai と大規模言語モデル (LLM) は多くの興奮を生み出しています。これらは、テキストを書く際に助けを求められたときに非常に役立つため、一般の人々の想像力を刺激します。しかし、開発者にとっては、AI アプリケーションの構築方法が大幅に簡素化されたため、さらに革命的です。その理由を見てみましょう。
従来、AI アプリケーションを構築する方法は、次の 4 段階のプロセスでした。
ステップ 3 は通常は簡単です (ただし、
当然のことですが、問題領域にうまく対処するために博士号取得者のチームが必要な場合、少数の企業を除いてすべての企業にとってコストとスキルが法外にかかることになります。
LLM を使用した生成 AI に誰もが興奮している理由は、多くの場合、上記の手順を行わなくても問題を「十分に」解決できるからです。生成 AI を使用すると、次のことが行われます。
本当にそれだけです。それ以外はすべて詳細です。
最も重要な詳細: ステップ 1 で GPT にどのデータを与えるか?すべてを投げかけることはできません。 GPT-3.5 では 4,000 トークンしか処理できず、GPT-4 では最大 32,000 トークンしか処理できません。これははるかに遅く、高価です。
ベクトル検索を使用すると、GPT に送信するために作成済みの正確なクエリを取得し、それをデータベースに渡すことができ、顧客について知っていることはすべてそこに格納されます。ベクトル検索は、文字通り「このクエリに最も関連性の高いデータは何か」をユーザー側で何もすることなく答えます。それはほとんど魔法のようです。
(私は、ベクトル検索は別個のシステムではなく、メイン アプリケーション データベースの機能であるべきだと強く信じています。そのためです。
最も関連性の高いデータとクエリを取得したら、それらをまとめて OpenAI を呼び出し、応答を返して完了です。 (いくつかの課題をごまかしています。「
したがって、ストリーミング コンテンツ プロバイダーは次のようなデータを使用します。ジョナサンがタイトル、俳優、カテゴリに関して費やしたすべてのセッション。彼はそれをどのくらい見ていたのか。さらに、思いつくすべてのメタデータを加えて、それをすべて非正規化して 1 つのテキスト BLOB にし、それをエンコーダーを通して実行してベクトルを取得します。
これが Netflix だったら、とても簡単でしょう。
それが完了したら、次のようなクエリを使用して Cassandra から関連する行をフェッチできます。は、同じ埋め込み API から取得するクエリ ベクターのバインド変数です。
SELECT original_data_text FROM user_recommendation_data WHERE user_id = 'jonathan' ORDER BY embedding ANN OF ? LIMIT 20
次に、それらの結果を LLM プロンプトに追加すると、それだけです。これで、博士号を持たずに 1 週間で構築した推奨システムが完成しました。
ただし、カスタム モデルを構築する必要がある場合でも、LLM はそのためのデータ、ラベル、特徴の生成に役立ちます。ただし、それについては別の記事で取り上げます。
読むことをお勧めします
Jonathan Ellis、DataStax 著