COLUMN
Azure AI ServiceでRAGを構築してみた!
近年、生成AIの進化が著しく、さまざまな分野で活用が進んでいます。その中でも特に注目されている技術がRAG(Retrieval-Augmented Generation)です。このコラムでは、Azure AI Serviceを活用したRAGの構築方法とそのメリットについて詳しく解説します。Azure AI Serviceを通じて、生成AIの可能性を最大限に引き出し、企業のナレッジを活用した高度なQAシステムを構築しましょう。
1. Azure AI Serviceを活用したRAGとは?
1-1. RAG(Retrieval-Augmented Generation)とは?仕組みとメリットを解説
近年、生成AIの活用が急速に進んでいますが、その中でも特に注目されているのがRAG(Retrieval-Augmented Generation)という技術です。RAGは、大規模言語モデル(LLM)による文章生成を補助するために、外部データベースや検索エンジンから関連情報を取得し、それを基に回答を生成する手法を指します。
※RAGの仕組み: 質問に関連したドキュメントが検索され、回答生成に利用される。
従来のLLMはトレーニングデータの範囲内でしか回答を作成できず、特定の企業情報や最新のニュースに関しては正確な応答が難しいという課題がありました。しかし、RAGを導入することで、外部データを参照しながら正確かつ最新の情報に基づいた回答を提供することが可能になります。
この仕組みでは、まずユーザーの質問を解析し、それに関連する情報を検索エンジンやデータベースから取得します。その後、取得した情報をコンテキスト(文脈)として言語モデルに提供し、より精度の高い回答を生成します。これにより、LLM単体での応答では生じがちな「ハルシネーション(hallucination)」と呼ばれる誤った情報の生成を防ぎ、より信頼性の高い対話を実現できます。また、企業内のナレッジベースやFAQ、業界特化型データを活用できるため、カスタマーサポートや社内業務効率化にも貢献します。
1-2. Azure AI ServiceでRAGを構築するメリットとは?
Azure AI Serviceは会話、検索、監視、翻訳、音声、画像などに関連する複数の機能を開発者や組織がすぐに利用できるアプリケーションやAPIの形式で提供しています。これらの機能はAzure AI Foundryというプラットフォームに集約され、開発者に提供されています。
※本コラムではLLMを利用するためにAzure OpenAI Service、 検索のためにAzure AI Search(旧称:Azure Cognitive Search)を利用します。
参考:Ignite 2024 - 検索 動画Microsoft 一部改変
Azure AI Serviceを活用することで、RAGの実装がより簡単かつスケーラブルに行えます。Azure AI Serviceの最大のメリットは、クラウド上で管理・運用できる点にあります。オンプレミスの環境でRAGを構築しようとすると、高性能なハードウェアの調達や、大量のデータの管理が必要となり、初期投資と運用コストがかさみます。しかし、Azureを活用すれば、必要なサービスをオンデマンドで利用できるため、導入コストを抑えつつ高品質なAIソリューションを提供できます。
さらに、Azure OpenAI ServiceはMicrosoftの情報セキュリティ基準に準拠しており、企業向けの安全な環境でAIを運用することができます。特に、機密情報を扱う場面では、AzureのIAM(Identity and Access Management)を活用してアクセス制御を厳格に設定できるため、データの安全性を確保しながら運用できます。
また、Azure AI Searchを活用することで、高速かつ正確な情報検索が可能となります。従来のキーワード検索に加え、埋め込みベクトルによる類似検索が行えるため、意味的に関連のある情報をより正確に引き出せます。これにより、単なるキーワードマッチングでは難しい自然な情報検索が実現できます。
2. Azure OpenAI ServiceでRAGを構築する手順
Azure OpenAI Service は、o3-mini、o1、o1-mini、GPT-4o、GPT-4o mini、GPT-4 Turbo with Vision、GPT-4、GPT-3.5、Embeddings モデル シリーズなど、OpenAI の強力な言語モデルへの REST API アクセスを提供します。
※Azure OpenAI Serviceは画面左のAzureのポータル画面からすぐに利用することができます。画面右のAzureのプレイグラウンドでは、上記のような複数のLLMの挙動を簡単に確認することができます。
2-1. Azure OpenAI ServiceとAzure AI Searchを使ったRAGの基本構成
RAGをAzure上で実装するためには、主にAzure OpenAI ServiceとAzure AI Searchを組み合わせます。まず、ユーザーが質問を入力すると、その質問に関連する情報をAzure AI Searchが検索し、関連ドキュメントやデータを取得します。その後、取得したデータをAzure OpenAI Serviceに渡し、それを元に適切な回答を生成します。
この構成では、Azure AI Searchが「知識のインデックス」として機能し、大量のドキュメントの中から適切な情報を高速に検索します。一方で、Azure OpenAI Serviceは「言語処理のエンジン」として動作し、取得した情報をもとに自然な文章を生成します。これにより、ユーザーの質問に対して、より正確かつ適切な回答を返すことができます。
※以降で構成するRAGシステムの概念図です。
2-2. ベクトルデータベースのセットアップ
RAGの性能を最大化するためには、ベクトルデータベースの適切なセットアップが重要です。Azure AI Searchでは、従来のキーワード検索に加えて、ベクトル検索機能を活用することができます。これにより、意味的に近いドキュメントを検索し、ユーザーの意図をより深く理解した情報検索が可能となります。
まず、データをインデックス化する際に、Azure OpenAIのエンベディング(埋め込み)モデルを活用して、各ドキュメントのベクトル表現を生成します。これにより、検索時にユーザーの質問も同様にベクトル化し、類似度の高いデータを取得できるようになります。
インデックスの作成後、Azure AI Searchのクエリを適切に設計し、ベクトル検索を活用できるように設定します。検索結果として取得した文書データは、そのままではなく、Azure OpenAI Serviceに適した形で前処理を行い、適切なコンテキストを提供することで、より高品質な回答が得られます。
1. データの登録はプレイグラウンドの左メニューから簡単に行うことができます。
2. データソースにはAzure AI SearchやAzure Bolb Storageなど複数のデータソースを選択可能です。
3. RAGの参照データとして利用するデータソースを明確に指定します。
2-3. 質問の入力と回答の確認
RAGの動作確認を行うためには、ユーザーからの質問がどのように処理されるのかを確認する必要があります。まず、質問がAzure AI Searchに送信され、関連情報が取得できているかをチェックします。次に、取得した情報が適切にAzure OpenAI Serviceに渡され、モデルが想定通りの回答を生成できているかを評価します。
この際、プロンプトの設計が重要となります。プロンプトには、ユーザーの質問とともに、検索結果の情報を適切に組み込む必要があります。例えば、「以下の情報をもとに質問に答えてください」といった明示的な指示を含めることで、モデルが適切な回答を生成しやすくなります。
また、出力される回答の精度を向上させるために、Azure OpenAI Serviceのパラメータを調整することも重要です。特に、Temperature(創造性の度合い)やMax Tokens(最大トークン数)を適切に設定することで、回答の一貫性や適切な情報量を制御できます。
今回の検証では、ドキュメントファイルからのデータの参照を想定して「RAGシステムテスト用.docx」ファイルをAzure Blob Storageに登録します。その後、Azure AI Searchでインデックス化を行い、ベクトルデータベースを準備して、データ内容に関する質問を行います。
※左が登録したデータです。表形式のデータを含みます。右が表形式部分のデータの抽出を試みた入出力結果になります。行列名をそれぞれ指定することで該当するデータを抽出できていることがわかります。また複数行を利用した行同士の計算も正しく実行できていることがわかります。
3. RAGを活用した生成AIならNTT東日本にお任せください
NTT東日本では、自治体向けに生成AIの環境提供や活用促進に関するコンサルティング、生成AIのユースケース創出に向けた技術支援を行っております。
また、生成AI導入にあたってのガイドライン制定や情報セキュリティを遵守した生成AIシステム環境の構築、RAGによる生成AI活用などの支援を行っています。
NTT東日本の提供する生成AIソリューションの詳細はこちらの資料をご覧ください!
4. まとめ
Azure AI Serviceを活用したRAGの構築により、企業や組織のナレッジを最大限に活用した高度なQAシステムが実現可能です。Azure OpenAI ServiceとAzure AI Searchを組み合わせることで、より正確で自然な回答を提供できるだけでなく、最新の情報に基づいた信頼性の高いシステムを構築することができます。
また、ベクトル検索を活用することで、キーワードベースの検索を超えた高精度な情報取得が可能となります。これにより、カスタマーサポートや社内ナレッジマネジメント、専門的なデータ検索の分野での活用が期待されます。
今後、Azure AI Serviceのさらなる進化とともに、RAG技術の精度や応用範囲はますます広がっていくでしょう。企業が生成AIを活用する際の一つの指針として、Azure AI ServiceによるRAGの導入を検討してみてはいかがでしょうか。
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。