メニュー

公開日:
14 min read
技術革新

RAGとは何か? データのチカラを活かすAIの新たなアプローチ【導入編】

RAGとは何か? データのチカラを活かすAIの新たなアプローチ【導入編】のイメージ

RAGとは何か? データのチカラを活かすAIの新たなアプローチ【導入編】

「概念編」では、RAG(Retrieval-Augmented Generation)の基本的な概念、仕組み、メリット、最新の技術動向について解説しました。「導入編」では、実際の実装方法や課題、企業の導入事例など、より実践的な内容に焦点を当てていきます。

実装方法の概要

RAGシステムを構築するためには、いくつかの重要なステップがあります。

1. データソースの準備 社内文書、FAQ、マニュアルなど、必要な情報を収集し、品質を確保します。 特に重要なコアコンテンツから段階的に開始することが推奨されています。

2. データの処理 収集した文書を適切なサイズに分割(チャンキング)し、検索しやすい形式に変換します。 日本語の場合は形態素解析などの技術を活用することで、より高精度な検索が可能になります。

3. ベクトルデータベースの構築 分割した文書をベクトル化し、データベースに格納します。 このプロセスにより、意味的に類似した情報を効率的に検索できるようになります。

4. 生成AIとの連携 検索システムと生成AIを連携させ、検索結果を基に回答を生成する仕組みを整備します。

オープンソースのRAGソリューション

Cloudflare AutoRAGが提供するようなノーコードの管理型サービスとは別に、様々な技術レベルに対応したオープンソースのRAGソリューションも開発されています。これらは機能や使いやすさが異なるため、ニーズに応じて選択することが重要です。

  • Dify:ノーコードでRAGアプリケーションを構築できるプラットフォーム。UIを通じて簡単に設定可能です。
  • RAGFlow:開発者向けの高度なRAGフレームワークで、OCRやTSR機能を備えた高度な文書理解が可能なエンジンです。プログラミングスキルが必要です。
  • GraphRAG:Microsoftが開発した知識グラフを活用するツールで、開発者が柔軟にカスタマイズできますが、技術的な知識が必要です。
  • Verba:プログラミングの知識を持つユーザー向けのモジュラー型RAGアプリケーションで、柔軟なカスタマイズが可能です。
  • kotaemon:シナモンAIが開発した洗練されたUIを持つツールで、一定の技術知識を必要としますが、使いやすいインターフェースを提供しています。

RAGの実装の現実と課題

RAGは概念としてはシンプルで理解しやすいものですが、実用レベルで構築・運用する際にはいくつかの重要な課題があります。

1. 実装の複雑さ 日経クロステックの調査によると、「RAGの扱いは意外に難しい」という指摘があります。RAGを導入しようとしたが十分な精度を出せずにあきらめてしまう企業も少なくありません。企業は生成AI活用の入り口としてRAGに挑戦していますが、実用的な精度を出すためには専門的なノウハウが必要です。

2. 日本語処理の難しさ 日本語テキストの処理には、英語とは異なる課題があります。日本語は単語の区切りが明確でないため、適切な形態素解析(テキストを意味のある最小単位に分割する処理)が必要です。これが不十分だと検索精度が大きく低下します。

3. データ処理とチャンキングの最適化 文書を適切なサイズに分割(チャンキング)する方法も重要な課題です。チャンキングやリランキング、クエリ拡張などの検索系テクニックが性能向上に大きく影響します。分割サイズが大きすぎると関連情報が希釈され、小さすぎると文脈が失われる可能性があります。

4. コストと技術的資源 RAGシステムの構築には、ベクトルデータベースの設計・構築、適切なエンベディングモデルの選定、検索アルゴリズムの調整など、専門的な知識が必要です。このため、RAGシステムの開発費用は数百万円から1,000万円以上になることも珍しくありません。

5. 多言語データの扱い 特に日本企業では、英語と日本語のドキュメントが混在しているケースが多く、これが精度低下の原因になることもあります。EnterpriseZineが報じた事例では、ある企業がRAGシステムの精度向上に苦労しており、「各言語ごとにデータベースとプロンプトを用意」することで精度を向上させた例があります。検索と生成を分けて精度を高め、言語ごとのデータベースを分ける取り組みで回答精度が約90%まで向上したという報告があります。

企業におけるRAG導入の事例と課題

RAGの実装に苦労しながらも導入に成功した企業の事例からは、多くの学びを得ることができます。

東京ガスの事例

2024年10月、東京ガスは生成AI搭載の社内アプリ「AIGNIS」を独自開発し、RAG技術を活用したチャットツール「AIGNIS-chat」を本格導入しました。このツールは社内の専門用語にも対応し、業務ごとに蓄積した社内情報を参照して的確な回答を生成します。同社はRAGの活用により「問い合わせ対応に費やす時間を大幅削減」することに成功しています。

東京ガスの取り組みは、2023年7月にグループ全体で生成AIチャットツールの活用を開始したことに始まり、翻訳業務やコーディング業務において作業時間を約3割削減したという成果も報告されています。しかし、この成功の裏には多くの試行錯誤があったことが推察されます。

インタビュー記事によると、東京ガスのRAG活用は「これまで担当者がマニュアル類や質問集を探して時間をかけて回答していたところ、RAGを活用して時間をかけずに回答できるようになりつつある」と述べられています。「なりつつある」という表現からも、継続的な改善が必要な状態であることがうかがえます。

RAG導入における共通の課題

EnterpriseZineが報じた2024年4月の記事では、あるRAG導入プロジェクトにおいて、次のような課題が指摘されています。

  1. 検索部分で適切な結果が得られない問題
  2. 複数言語(日本語と英語)が混在することによる精度低下
  3. ユーザーチームとシステムチームが分かれていることによるコミュニケーション不足

この事例では、RAGの「検索(Retrieval)」と「生成(Augmented Generation)」を切り分けて対応し、まず検索精度の向上に注力。また、言語ごとにデータベースとプロンプトを用意することで精度向上を実現しました。これにより回答精度が約90%まで向上したと報告されています。

日経クロステックの2024年10月の特集記事「簡単に見えて実は難しい生成AI技術「RAG」」によると、企業のRAG導入において「高すぎる期待を放置する」「十分なデータの前処理をしない」「導入後に継続的な改善をしない」という3つの落とし穴があるとしています。特に「導入したらすぐに成果が出る」と期待されがちですが、実際には継続的な改善が必要であり、この点を理解している企業とそうでない企業で成果に大きな差が生じています。

まとめ

RAGは概念的には魅力的に見えるシステムですが、実運用における現実はかなり厳しいものがあります。

数百万から1,000万円以上の開発コストがかかるにもかかわらず、その成否は保証されていません。最も難しいのはシステム構築ではなく、データの整備と前処理です。多くの企業がRAGに取り組んでは挫折している現状があり、その主な理由がデータの問題です。

特に日本語のような言語では、形態素解析の精度が検索性能を左右します。わずかな設定の違いが大きく結果を変えることがあり、この調整には専門知識と膨大な試行錯誤が必要です。これは自動化が難しく、人手による地道な作業の積み重ねです。

また、RAGシステムは一度構築して終わりではありません。データの鮮度を保つための継続的な更新、システムの精度向上のための継続的な改善が必要です。多くの企業は「導入したらすぐに成果が出る」と期待しますが、現実には数ヶ月から数年にわたる改善活動が必要となります。

RAGに取り組む際は、「マグロ漁師のような仕事」だという覚悟が必要です。大間のマグロ漁師のように、膨大な労力と時間、コストをかけても大きな成果が得られるかどうかは運次第という側面があります。全力を尽くしても成功が保証されないハイリスク・ハイリターンの世界であり、常に試行錯誤を繰り返す必要があります。

それでも、適切に実装されたRAGシステムは企業の知識資産を活性化させ、価値ある情報活用を実現する可能性を秘めています。ただし、その道のりは平坦ではなく、泥臭い努力の連続だということを覚悟しておく必要があるでしょう。

昨今は、本当に泥臭い日々をCloudflare autoRAGとともに過ごしています…