RAGが解決すること(Knowledge Cut-off、Hallucinations)
RAGはクエリ時に関連するコンテキストを取得し、LLMが事実を捏造する代わりに実在する情報源を引用できるようにします。
「RAGが解決すること(Knowledge Cut-off、Hallucinations)」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。
通常のLLMが抱える2つの問題
最高性能のLLMであっても、構造上の問題を2つ抱えています。
- 知識のカットオフ — 学習データに含まれていたことしか知りません。昨日の出来事についてGPT-4に尋ねても、何も分かりません。
- ハルシネーション — モデルが知らないことでも、自信たっぷりに事実を作り上げてしまいます。
RAGとは何か
Retrieval-Augmented Generation(RAG)とは、次の処理を指します。
- ナレッジベースから関連するチャンクを検索する
- そのチャンクをプロンプトに埋め込む
- そのチャンクだけを使って回答するようLLMに指示する
これにより、モデルは固定された重みに頼るのではなく、外部知識を読む「読者」になります。
具体例
ユーザー:「開封済みの電子機器の返品ポリシーを教えてください」
- 「返品ポリシー 電子機器」で社内KBを検索し、ヘルプドキュメントから3つの段落を取得する
- プロンプトを作成する:「以下のコンテキストを使って、次の質問に答えてください:…」
- モデルが引用付きで、内容に忠実な回答を生成する
RAGがファインチューニングに勝る理由
事実に関する知識では、次の理由からRAGのほうがファインチューニングより優れています。
- 再学習せずにKBを更新できる
- ユーザーごと・テナントごとのデータを簡単に分離できる
- 引用を付けられる(どのチャンクが回答を生成したか分かる)
- 維持費が安い
RAGがハルシネーションを減らす理由
提供されたコンテキストだけを使って回答するようモデルに指示し、そのコンテキストに正しい情報が含まれていれば、記憶だけに頼るよりも正しい回答になる可能性が大幅に高まります。
完全ではありません。モデルが時折内容を作り上げることはありますが、ハルシネーションを大幅に減らせます。
3つの段階
すべてのRAGシステムには、次の3つの段階があります。
- 取り込み(オフライン) — ドキュメントをチャンク化し、埋め込みを作成して保存する
- 検索(オンライン) — クエリの埋め込みを作成し、Top-Kチャンクを見つける
- 生成(オンライン) — 取得したチャンクを使ってLLMが回答を生成する
単純なRAGと高度なRAG
単純なRAG(5行のプロトタイプ)では、次の処理を行います。
- 固定サイズのチャンク化
- 単一ベクトルによる検索
- Top-Kをプロンプトに埋め込む
高度なRAGでは、再ランキング、クエリ書き換え、HyDE、マルチベクトル、評価などを追加します。品質は向上しますが、その分複雑さも増します。
RAGが役立つ場合
- 会社のナレッジベースやドキュメント
- 製品マニュアルに基づくカスタマーサポート
- 頻出しない事実に関するQ&A
- ユーザーデータを扱うパーソナルアシスタント
RAGが逆効果になる場合
- 単純な雑談(事実が必要ない場合)
- 事実ではなく推論が必要なタスク
- コーパスがコンテキストに収まるほど小さい場合
プロンプトテンプレート
典型的なRAGプロンプトは次のようになります。
prompt = f'''
Answer the user\'s question using ONLY the context below.
If the answer is not in the context, say 'I do not know'.
Context:
{retrieved_chunks}
Question:
{user_question}
Answer:
'''引用
チャンクにソースIDを付け、引用するようモデルに指示します。
context = '\n'.join(
f'[doc {i+1}] {chunk.text}'
for i, chunk in enumerate(chunks)
)
# Then ask: 'Cite the relevant [doc N] for each claim.'RAGの目的
RAGが主に解決する問題は何ですか。
まとめ
RAGはLLMを、教科書を見ながら解答する受験者に変えます。次は、検索のためにドキュメントを実際にチャンク化する方法です。
よくある質問
「RAGが解決すること(Knowledge Cut-off、Hallucinations)」レッスンは無料ですか?
はい。「RAGが解決すること(Knowledge Cut-off、Hallucinations)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。
「RAGが解決すること(Knowledge Cut-off、Hallucinations)」で何を学びますか?
RAGはクエリ時に関連するコンテキストを取得し、LLMが事実を捏造する代わりに実在する情報源を引用できるようにします。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Agentsを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「RAGが解決すること(Knowledge Cut-off、Hallucinations)」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Agentsレッスンでコードを書いて実行できますか?
はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- RAGが解決すること(Knowledge Cut-off、Hallucinations)
- チャンク分割戦略(固定、文単位、意味単位)
- ドキュメントセットのインデックス作成
- FAISSまたはChromaで素朴なRAGを構築する