何もわからなかった状態から、RAGアプリを構築するまで

昨日、自分自身のNLPノート31ページを読みふけっていました。

何一つ理解できませんでした。

問題は自分にあるのだと思いました。しかし、そうではありませんでした。問題は私の方法にありました。ノートを読むことは、学習することではありません。私が持っていたのは初心者向けではなく、専門家向けのノートだったのです。

アプローチを変えました。読むのをやめ、代わりに質問を投げかけることにしました。簡単な例を用い、概念を理解するまでは専門用語を使うのをやめました。

その日の終わりには、RAGアプリを構築できました。NLPの4つの柱をどのように学んだのか、そのプロセスを紹介します。

  1. Bag of Words コンピュータは数学しか理解できません。テキストを処理するには、単語を数値に変換する必要があります。

メールのスパム判定をしたいと想像してください。メール内のすべての単語をリストアップし、それぞれの単語が何回出現するかを数えます。これにより、メールは数値の列へと変換されます。

欠点は? 単語の順序を無視してしまうことです。「Dog bites man(犬が人を噛む)」と「man bites dog(人が犬を噛む)」は、この方法では全く同じに見えてしまいます。

  1. TF-IDF Bag of Wordsはすべての単語を平等に扱います。しかし、「the」は「viagra」ほど重要ではありません。

TF-IDFは2つのルールを使用します:

この計算によって、「the」のような埋め草的な単語の影響を抑え、重要で珍しい単語を際立たせることができます。

  1. Embeddings Bag of Wordsは「money」と「cash」が無関係だと判断します。Embeddingsはこれを解決します。

巨大な地図を想像してください。すべての単語はその地図上の「点」です。似た意味を持つ単語は近くに配置されます。「Money」と「cash」は隣同士であり、「Banana」は遠く離れています。

コンピュータは、単語がどのような単語と一緒に使われるか(文脈)を見て、これらの位置を学習します。「money」と「cash」がどちらも「bank」や「pay」の近くに現れるなら、コンピュータはそれらを互いに近くに配置します。

  1. RAG (Retrieval-Augmented Generation) ここですべてが結びつきます。

ファイル内のすべてのノートが地図上の点であるなら、最も近い点を見つけることで答えを見つけ出すことができます。

RAGのプロセス:

これにより、AIが推測したり嘘をついたりすることを防ぎます。AIに実際のデータを使用させるのです。

私はこれらのステップを使って、アプリ「Synapse」を構築しました。ゼロから、わずか一日で動作するシステムを作り上げたのです。

教訓:読むのをやめ、問いかけることから始めよう。もしある概念を簡単な比喩で説明できないのであれば、それはまだ理解できていないということだ。理解していることを証明するために、何かを作ってみよう。

出典:https://dev.to/sabimantock/from-i-understood-nothing-to-building-a-rag-app-4033

学習コミュニティ(任意):https://t.me/GyaanSetuAi