RAG(検索拡張生成)によるAIモデルの強化方法

適切に構築された検索拡張生成(RAG)パイプラインは、企業が埋もれているデータを決定的なビジネスの推進力に変えるのに役立ちます。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • 検索拡張生成(RAG)を定義する
  • 成果の出るRAGパイプラインを構築する
  • RAGパイプラインの最善の効果測定方法を特定する

記事のリンクをコピーする

検索拡張生成(RAG)とは何か、そしてその価値とは?

検索拡張生成(RAG) は、人工知能(AI)の開発で用いられる技術の1つで、 大規模言語モデル(LLM) に内外のデータソース(外部の研究資料、製品ドキュメント、または企業の社内ナレッジベースなど)にアクセスを与えることで元々の学習に含まれていない能力を補完する仕組みです。

RAGを利用することで、チームは自然言語を使用して権威ある企業的ナレッジやサードパーティリソースから情報を得ることができるため、同僚に質問したり、複数のシステムを横断して情報を探したりする手間を省くことができます。

さらに、LLMが実行時に追加データを参照して回答を生成するため、ハルシネーションが発生する可能性が低くなり、誰もが同じ情報源に基づいて作業できるようになります。このように、RAGは根拠のある信頼できる情報を使用することで、LLMの精度を向上させることができるのです。

成功するRAGパイプラインを構築するためのステップ

RAGは、OpenAIやAnthropicなどのベンダーが提供するAIモデルを再学習させることなく、時間、コスト、専門的なリソースをかけずに用途に応じて強化できる仕組みで、RAGを使用することで誰でもLLMを高度化できるようになります。

幸いなことに、RAGパイプラインの構築には、大規模なインフラや高度な機械学習の専門知識は必要ありません。ですから、導入は簡単です。「ユースケースの特定」、「適切なデータソースの選択」、「実際のRAGパイプラインの構築」といったシンプルな3段階のプロセスで始めることができます。

ステップ 1:RAGの活用シーンを考える

まず、チームが自然言語プロンプトで利用できると便利なデータソースを特定します。チームが良く利用するリソース、ボトルネックに頻繁に遭遇するシステム、同じ質問が何度も繰り返される場面など、影響が大きく皆が煩わしさを感じている部分に焦点を当てます。

効果的なRAGユースケースを見つけるために、社内チームで以下について話し合います:

     
  • 知識が個人の頭の中や探しにくい文書に埋もれていないか?これには、標準作業手順書(SOP)やよくある問題の解決方法などがあります。RAGを活用することで、「過去の請求書はどこでダウンロードできますか?」といった質問に自動で回答する請求サポートAIを構築できます。
  •  
  • 他部署からよく尋ねられる質問とは?例を挙げると、頻繁に更新される技術ポリシーについての質問があります。RAGを使用することで、顧客対応のポリシーアシスタントに企業の払い戻しポリシーを説明させることができます。
  •  
  • Confluence、SharePoint、社内Wikiなど、複数の場所で同じ情報を繰り返し探していないか?「ヨーロッパの新入社員に必須とされる研修には何がある?」と言う質問にも、RAG対応のコンプライアンスアシスタントに人事ガイドラインの情報から回答させることができます。
  •  
  • どのような形式上の要件を満たすべきか?監査、提案依頼書(RFP)、コンプライアンスへのレスポンスは、一般的なユースケースです。RAGを活用した営業RFPアシスタントがあれば、コンプライアンス承認済みのテンプレートからRFPレスポンスを生成することができます。
  •  
  • 全社員に共通する情報はあるか?研修資料やオンボーディング資料などは一般的なユースケースとなります。RAGを活用したインタラクティブな顧客オンボーディングガイドがあれば、最新のハウツー資料から新規ユーザーをトレーニングステップへ案内することができます。

RAGのユースケースを検討する際には、生成推論と社内外の知識を組み合わせることで具体的な問題を解決できるもの、コンテキストの切り替えを減らせるもの、繰り返し発生するタスクを排除できるもの、チーム間で情報の一貫性を高められるものを優先しましょう。

ステップ 2:RAGに適した社内データソースを特定する

RAGシステムの強度は、参照するデータの品質に大きく依存します。そのため、利用可能なデータソースの品質、完全性、ガバナンス、構造が、レスポンスの質に直接影響を与えます。

RAGに適したデータには、次の特徴があります:

     
  • よくある質問への回答が掲載されている:理想的な情報源として、製品に関するFAQ集、ポリシー文書、業務手順書、コンプライアンス関連資料などが挙げられます。
  •  
  • 正しく管理されている:管理者が明確で、更新が定期的に行われているドキュメントを選択するようにします。
  •  
  • チャンク化(分類)しやすい構造:Markdownファイル、PDF、HTMLドキュメント、JSONファイル、Wikiは、論理セクションに分割しやすい形式です。スクリーンショットや画像で構成されたPDFファイルも、CloudflareのWorkers AI のようなツールを使用することで、画像をベクトル化してLLMが読み取れる形に変換することができます。

以下のような、ノイズや一貫性のないデータソースは避けるようにしてください:

     
  • 非構造的で雑多な形式のデータ:クリーンアップ、精査、フォーマットされていない、Slackのスレッドや未加工のメールの往復データなど
  •  
  • 流動的で常に変化するデータセット:リアルタイムで更新されるダッシュボードなど
  •  
  • 重複ファイル、競合ファイル、または古いファイル:検索精度を低下させ、誤った情報を引き出す可能性がある

社内の関係者およびIT部門と協力して、各データソースの棚卸し、重複排除、管理者の明確化を行いましょう。

ステップ3:RAGパイプラインを構築する

次に、データセットをセマンティック検索に適した構造に整理します。一般的なRAGの作業の流れは、取り込み、埋め込み、ベクトルデータベースへの保存、クエリの取得、回答生成という5つの部分で構成されています。

1. 取り込み

まず、共有リポジトリ、ストレージバケット、またはコンテンツ管理システムから、関連するファイルやドキュメントを収集します。その際、次の点に焦点をあてます:

  • チャンク化:正確な検索を可能にするために、内容をプログラム的に意味の通る単位(段落、見出し、FAQ項目、コードブロックなど)に分割します。
  • 正規化:PDFからテキスト、HTMLからMarkdownに変換するなど、フォーマットを横断してデータをクリーンアップし標準化。
  •  
  • メタデータタグ付け:絞り込み検索しやすくするため、有用なメタデータ(所有者、作成日、システムなど)を追加します。

2. 埋め込み

BGE埋め込みモデルなどの埋め込みモデルを使用して、各テキストのチャンクを、意味的な特徴をもつ数値ベクトルに変換します。

3. ベクトルデータベースへの保存

Cloudflare Vectorizeなどのスケーラブルなベクトルデータベースに、埋め込みとすべての関連するメタデータを保存します。これにより、大規模ナレッジベースでも効率的なクエリとフィルタリングが可能になります。

4. クエリの取得

ユーザーがプロンプトを送信すると、システムはクエリをベクトルに変換し、ベクトルデータベースから意味的に類似した適切なチャンクを検索します。その際、メタデータを基に絞り込んで検索を微調整します。たとえば、役割や部署に基づいて特定の情報へのアクセスを制限できます

5. 回答生成

最後に、取得したチャンクは追加のコンテキストとしてプロンプトに挿入されます。これがLLMに渡されることで、内部および外部データに基づいた、有意義で正確な回答が生成されます。

RAGの実行と導入に際するIT部門との協力の必要性

価値のあるRAGパイプラインを構築するには、組織全体での協力が欠かせません。その中でも特にIT部門は、実行の主導、インフラ管理(データパイプラインやベクトルデータベースの規模調整、アクセス制御など)、システム統合において重要な役割を果たします。

しかし、IT部門だけで完結するものではありません。IT部門、専門知識を持つ担当者、部門の関係者などの部門横断的なチームを形成し、ユースケースと信頼できるデータソースの特定、コンテンツの信頼性基準の定義、データセットの正確性と最新性を維持するための責任分担の明確化を行います。

担当者の役割や部門ごとに機微データへのアクセス制御を適用し、システム全体で暗号化コンプライアンスの保護策が確実に実施されるようにします。

まずはパイロットから始め、結果を基に改善を重ね、その後、チーム全体に展開するようにしましょう。

RAGパイプラインの成功を測る最適な方法

RAGシステムの有効性とビジネスへの価値を評価するためには、最初から成功指標を設定しておくことが重要です。

特に、次のようなKPIに基づいてシステムを評価します。

  • 検索精度:適切な文書や回答が表示されているか?
  •  
  • 回答の関連性と正確性:ユーザーに最新で信頼できる情報が提供されているか?
  •  
  • 遅延:レスポンスは許容時間内に配信されているか?
  •  
  • 利用状況と満足度:従業員が実際にシステムを使用し、生産性向上につながっているか?
  •  
  • データガバナンス:新たな情報源を追加した際にセキュリティとコンプライアンスの維持機能が働いているか?

RAGの精度評価では、多くの場合、ヒューマンインザループ検証が実施されます。利用者からの意見を継続的に収集し、クエリと検索ログのパフォーマンス指標を分析し、コンテンツの品質を検証し、ビジネス目標に対する進捗状況を評価することで、RAGパイプラインを継続的に改善します。

RAGの実現を簡素化する方法

RAGパイプラインを手作業で構築する場合、ストレージ、ベクトルデータベース、埋め込みモデル、LLM、カスタムインデックス作成/検索ロジックをつなぎ合わせる必要があります。加えて、データの変更に応じたシステム維持も求められます。これには多くの時間と関係者間の連携が必要で、その複雑性もあり、他の重要プロジェクトに影響を与えてしまうこともあります。そのため、RAGの導入が有益であるにもかかわらず、実際にはその実現が難しい企業も少なくありません。

そこで役立つのがCloudflareのAI Search(旧AutoRAG)です。

AI Searchは、Cloudflareの開発者プラットフォーム上に構築されたフルマネージドのRAGパイプラインで、わずか4ステップで、企業のWebサイト、eコマース製品カタログ、開発者向けドキュメントなどのデータソースを接続することができます。AI Searchは、取り込み、Markdown変換、チャンク化、埋め込み、Vectorizeへの保存を行います。その後、セマンティック検索を実行し、Workers AIで回答を生成します。

AI Searchは、スケール、ストレージ、AI推論を自動化することにより、RAGパイプライン構築に必要だった大規模インフラの負担を大幅に削減し、社内データソースがRAGシステム内で安全かつ適切にアクセスされるようにします。さらに、AI Searchはバックグラウンドでデータを継続的に再インデックス化するため、内部ソースが更新された場合、回答も更新されます。

RAGを使用する理由

組織のデータは、大規模な戦略的資産です。安全なRAGパイプラインを構築することで、企業のLLMに独自のガイドライン、プロセス、ナレッジベースを組み込み、このデータをチームメンバーやクライアントが利用できるようになります。

これまでの内容を総合すると、RAGは、一般的なモデルに社内の知識と承認された外部リソースをを組み合わせ、リアルタイムでAIの利点を得る技術です。

手作業で構築する場合もAI Searchを使用する場合も、まずは適切なユースケースを選定し、高品質のデータをキュレートし、チームで協力し合いながら素早く正確で根拠のある回答を提供できるようにしましょう。

導入をご希望ですか?簡単な4つのステップで、専用の社内RAGを構築できます。

よくある質問

検索拡張生成(RAG)とは?

検索拡張生成(RAG)は、元々の学習に含まれていなかった内部および外部データソースへのアクセスを可能にして大規模言語モデル(LLM)を強化する手法です。

RAGを使用する主な利点は?

RAGを使用することで、チームは自然言語を使用して組織のナレッジやサードパーティのリソースに問い合わせることができるため、同僚に質問したり、手作業による検索に費やす時間を減らすことができます。また、完全な再トレーニングに必要な時間、費用、技術的リソースが不要で、誰でも手軽にOpenAIやAnthropicといったベンダーが提供するAIモデルを強化することができます。

RAGパイプラインの構築手順は?

RAGパイプラインの構築は、「考えられるユースケースの考案」、「適切なデータソースの特定」、「実際のRAGパイプラインの構築」の手順で行います。パイプラインの構築では、コンテンツの取り込み、埋め込みモデルによるテキストのベクトル変換、ベクトルデータベースへの埋め込みとメタデータの保存、クエリ検索の有効化、回答生成といった処理を行います。

RAGで特に効果が高いユースケースは?

効果の高いRAGのユースケースには、セルフサービス請求アシスタント、顧客向けポリシーアシスタント、人事ガイドラインコンプライアンスアシスタント、営業RFPアシスタント、インタラクティブな顧客オンボーディングガイドなどが挙げられます。これらのユースケースは、具体的な問題の解決、繰り返し作業の削減、チーム間の情報統一に大きく貢献します。

RAGシステム適したデータソースとは?

RAGに適したデータソースは、正確で、定期的にメンテナンスされ、Markdown ファイル、PDF、HTMLドキュメント、JSONファイルなどの論理的なセクションに分割できる程度に構造化されている必要があります。また、製品に関するFAQや社内プロセスガイドなど、一般的な質問への回答も掲載されている必要があります。

RAGで行われる典型的な5つの処理は?

一般的なRAGの作業の流れは、取り込み、埋め込み、ベクトルデータベースへの保存、クエリの取得、回答生成という5つの部分で構成されています。

RAGパイプラインの効果測定方法は?

RAGパイプラインの効果は、検索精度、回答の関連性と正確性、遅延、利用状況と満足度、データガバナンスなどの主要業績評価指標(KPI)を用いて測定可能です。継続的な意見収集やパフォーマンス指標の分析も継続的な改善に役立ちます。

RAGパイプラインで埋め込みモデルを使用する利点は?

BGEなどの埋め込みモデルは、テキストのチャンクを意味的な特徴をもつ数値ベクトルに変換します。これらのベクトルはベクトルデータベースに保存され、効率的なクエリとフィルタリングを可能にします。

Cloudflare AI Searchは、RAGワークフローの作成をどのように簡素化するか?

Cloudflare AI Searchは、Vectorizeへの取り込み、チャンク化、埋め込み、および保存を自動化する、フルマネージドのRAGパイプラインです。また、Workers AIを用いてセマンティック検索と回答生成を処理するため、手動でのインフラストラクチャ管理は不要になります。