COLUMN
生成AIの精度向上 ~RAGにおけるデータ形式の選択について~
現代のシステム開発において、人工知能(AI)を活用した自然言語処理技術は急速に普及しており、その中でもRAG(Retrieval-Augmented Generation:検索拡張生成)という手法が注目を集めています。
RAGは、大規模言語モデル(LLM)に対して、外部のデータベースや社内情報を組み合わせて回答を生成する方法です。このコラムでは、クラウドでのRAG構築、特にAzure環境で利用できる各種サービスや登録可能なデータ形式、そしてその複雑性と精度について、わかりやすく解説していきます。
1. Azure AI Serviceを活用したRAGとは?
1-1. RAGとは
RAGとは、従来の大規模言語モデルがもつ学習データを外部データの検索機能で補完する技術です。通常、LLMは学習時点までの情報を元に回答を生成するため、最新情報や社内のプライベートなデータについては対応できない場合があります。そこで、RAGはユーザーからの質問に対して、関連する外部情報(例:企業内ドキュメント、FAQ、技術資料など)を検索し、その結果を言語モデルに入力として与えることで回答の精度と根拠を向上させる仕組みです。例えば、チャットボットに質問があった場合、検索エンジン部分が関連文書を探し出し、その文書の一部をプロンプトとしてLLMに送ることで、信頼性のある回答を生成します。これにより、単なる生成AIでは得られない新しく正確な情報提供が可能となります。
1-2. クラウド環境でRAGを構築するメリット・デメリット
クラウド環境でRAGを構築するメリットは多岐にわたります。まず、クラウドならではの拡張性が大きな利点です。必要なリソースを需要に応じて自動的に拡張できるため、トラフィックが急増しても対応可能です。また、Azureなどのクラウドプロバイダーがインフラの保守やセキュリティ対策を行うため、運用負荷が軽減される点も評価されます。さらに、グローバル展開やバックアップ、災害対策など、オンプレミスでは難しい部分も容易にカバーできるのも魅力です。
一方、クラウドでの構築にはデメリットも存在します。まず、クラウド利用には運用コストがかかるため、利用量が多くなると費用がかさむ可能性があります。また、インターネットを介した通信が基本となるため、ネットワークの遅延やセキュリティリスクにも注意が必要です。さらに、クラウドプロバイダー固有の技術やAPI(Application Programming Interface)の学習が必要となり、初めは技術習得のハードルがある点も挙げられます。とはいえ、これらのデメリットは適切な設計と運用で十分に解決可能な範囲です。
2. Azure環境でのRAGの構築で利用するサービス
RAGの構築は様々な環境での構築が可能ですが、本コラムではクラウドプロバイダーとしてAzureを中心に紹介します。
Azure環境では、RAGを実現するために複数のサービスが連携して利用されます。これにより、生成AIの性能を最大限に引き出しつつ、検索の精度や運用管理のしやすさを担保することができます。以下では、主なサービスとその役割について解説します。
2-1. Azure AI Foundryとは
Azure AI Foundryは、Azure上でのAIアプリケーションの開発・管理を一元的に行える統合プラットフォームです。従来、生成AIの開発は複数のツールやサービスを個別に操作する必要がありましたが、Foundryはこれらを統合することで、ユーザーが直感的なGUI(Graphical User Interface)や統合SDK(Software Development Kit)を通じて、複雑なワークフローを簡単に構築できる環境を提供します。具体的には、Azure OpenAI ServiceやAzure AI Searchとの連携、さらに各種モデルのファインチューニングやデータの取り込みなど、RAGソリューションの構築に必要な機能が網羅されています。初心者エンジニアにとって、統合された開発環境があることで、各サービス間の連携方法や運用手順を把握しやすくなり、迅速なプロトタイピングが実現できる点は大きなメリットと言えそうです。
※本コラムではLLMを利用するためにAzure OpenAI Service、 検索のためにAzure AI Search(旧称:Azure Cognitive Search)を利用します。
参考:Ignite 2024 - 検索 動画Microsoft 一部改変
2-2. Azure OpenAI Serviceとは
Azure OpenAI Serviceは、Microsoft Azure上でOpenAIの強力な生成AIモデルを利用できるサービスです。具体的には、GPT-4oなどの大規模言語モデルをAPIを通じて簡単に利用できるため、チャットボットや文章自動生成、コード補完など幅広い用途に対応します。RAGにおいては、検索で得た情報を元にユーザーの質問に対する適切な回答を生成する役割を担います。
※Azure OpenAI Serviceはコンソールから簡単に開始することができ、さまざまなモデルを試すことができます。
2-3. Azure AI Searchとは
Azure AI Searchは、企業内に散在する様々なデータを高速かつ効率的に検索するためのサービスです。インデックス作成や全文検索機能に加え、最近ではベクトル検索にも対応し、自然言語の意味に基づいた検索が可能となっています。
RAGの構築においては、まずこの検索エンジンがユーザーの質問に関連する情報を社内のデータベースやストレージから抽出します。Azure AI Searchは、複数のファイル形式に対応しており、豊富な検索アルゴリズムとカスタマイズ可能なインデックス設定が利用可能なため、非常に柔軟なデータ検索基盤として活用されます。2025年3月現在は以下のファイル形式に対応しているようです。(Microsoft Word、PowerPoint、Excel、Adobe PDF、PNG、RTF、JSON、HTML、XML)
3. Azure環境でRAGに登録可能なデータ形式について
RAGを効果的に運用するには、どのようなデータ形式をどのサービスで登録・活用できるかを理解することが重要です。ここでは、Azure環境でのデータ形式の取り扱いと、その検証内容および結果について詳しく見ていきます。
3-1. 検証内容
Azure環境では、各種サービスが異なるデータ形式を取り扱えるように設計されています。具体的な検証内容としては、以下の点を確認しました。検証に使用したモデルはChatGPT-4oになります。また、上記で紹介したサービスを利用して以下のような構成をとります。
本コラムの検証では、旅行会社のコンタクトセンターで職員が顧客からの問い合わせに回答する状況でのRAGの利用を想定します。参照用のドキュメントは本検証では、docxとxlsx形式の2種類を用意します。docx形式は内部に表形式でツアーごとの費用の内訳を記載しており、xlsx形式のものはプロジェクトマネジメントの観点で利用する工数管理表をイメージしています。これらのデータをAzure AI Searchでインデックス化し、Azure OpenAI Serviceを利用して呼び出せるか検証します。
※詳細な手順は割愛しています。
Azure OpenAI ServiceとAzure AI Searchを準備します。それぞれが準備できたら、プレイグラウンドからRAGで利用する参照データを指定します。
※プレイグラウンドの左メニューから参照データを指定でき、簡単にRAGを試すことができます。
3-2. 検証結果
検証ではdocxとxlsx形式のファイルから情報の抽出を検証しました。
docx形式の抽出結果は良好でした。プロンプトによるセルの指定や、行ごとの集計なども可能であることがわかりました。もちろん表ではない文章自体の参照も問題なくできていることが確認できました。
※左:Azure AI Searchに登録したドキュメント
※右:ドキュメント登録後にプレイグラウンドから問い合わせを実行した結果
一方でxlsx形式のデータの検証として表のセル結合を施したものなど、表形式が複雑なものは参照性が大きく低下することが示唆されました。複雑すぎるデータからの情報の抽出はそのままでは困難であることがわかりました。
※ガントチャート風の表を参照データとして情報抽出を試みましたが、検索がうまくできていない結果となりました。
表形式のデータについては、Azure上でJSON配列などの半構造化データに変換したのち、登録を行う手法が推奨されています。
※表形式の情報をJSON配列に変換したのち、RAGに登録した例です。
※xlsx形式のデータをそのまま登録しても正確な回答を得ることができませんでした。
RAGで利用するドキュメント・データは、構造の複雑性やデータの更新頻度などを踏まえた上で、データ変換の実施計画やそもそもRAGとして利用するかどうかを含めて業務要件に応じた構築方法を検討する必要があります。
一般論として、参照データとしてあまり良い結果が期待できない傾向は以下の通りです。
- データ量が多い(例:ドキュメントが長すぎる)
- 形式が複雑(例:表形式のデータがセル結合されている)
- 専門性が高い(例:生成AIの学習に使われていないような内容もしくは社内用語など)
RAGの検索結果がうまく得られない場合には、上記の観点からデータのチェックを行ってみてもよいでしょう。
4. 生成AIの活用をご検討ならNTT東日本にお任せください
NTT東日本では、生成AIの環境提供や活用促進に関するコンサルティング、生成AIのユースケース創出に向けた技術支援を行っております。
また、企業内ドキュメントに基づいた拡張ドキュメント検索機能としてのRAGについてもサービスを提供しております。
NTT東日本が提供する生成AIソリューションについてはこちらからお気軽にお問い合わせください。
5. まとめ
RAGは、最新情報や企業内情報をLLMに組み込むことで、より正確で信頼性の高い回答を実現する技術です。クラウド環境、特にAzure上では、Azure OpenAI Service、Azure AI Search、Azure AI Foundryといったサービスを活用することで、効率的かつ柔軟なRAGシステムの構築が可能となります。
検証結果から、docx形式のドキュメント中の表やJSONなどの整然としたデータはRAGにおいて非常に有用であることがわかりました。初心者エンジニアにとって、これらのサービスとデータ形式の関係を理解することは、RAGを活用した実際のアプリケーション開発において大変有用です。クラウドの持つスケーラビリティや運用の容易さを最大限に活かし、RAGの仕組みを正しく取り入れることで、より高度なAIソリューションの実現が期待できます。今後もAzureの各種サービスのアップデートや新たな技術動向に注目し、実際のプロジェクトにどのように適用できるかを継続的に検証していくことが求められるでしょう。
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。