RAGの精度はどう評価する? Azureで作るならどの方法がよい? 有識者が課題の実践的な解決方法を解説ギブリー主催「RAG構築・運用・評価のお悩み相談会」セミナーレポート

企業の生成AI活用において、重要な役割を果たすのが「RAG」だ。企業が独自に持つデータを学習させることで、生成AIを自社業務に生かすことができる。ただ、具体的にどのような準備、設定が必要なのかが明確になっていないケースが多い。ギブリーが開催したWebセミナーからRAG導入における課題の解決方法を探る。

» 2025年03月25日 05時00分 公開
[齋藤 公二@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 生成AIを活用する際には、企業が独自に持つデータをどのように業務に生かすかが重要になる。そこでポイントになるのが「RAG」(検索拡張生成)という技術だ。ただ、RAGを利用するに当たって、どのようなインフラや仕組みが必要になるのか、回答精度を上げるにはどのような方法があるのかなど幾つかの課題を解決する必要がある。ギブリーが2025年2月に開催したWebセミナー「現役AIエンジニアたちが解決! RAG構築・運用・評価のお悩み相談会」では、RAGにまつわるさまざまな課題の解決方法が紹介された。

改めて「RAG」とは何か

 ギブリーは、生成AIを「事業のコアとなる技術」と位置付けており、生成AIの戦略策定から環境構築、利活用、組織浸透まで、顧客の深いニーズに迅速かつ細やかに向き合うサービスを提供している。企業とともにAI開発プロジェクトを推進する伴走支援サービス「Givery AI Lab」や、生成AI技術に関するお悩み解決サービス「Givery AI顧問」なども提供しており、生成AIに関する実践的なノウハウを蓄積している。

 セミナーでは、それらのサービスに携わっている3人のAIエンジニア、鈴木岳之氏、西村春人氏、劉 屹氏(「劉」の字は正しくは文と片仮名の「リ」を合わせたもの)が登壇。RAG開発に関する視聴者からの質問や過去寄せられた相談に対して、随時回答するという形で進行した。

画像 左からギブリーの鈴木岳之氏、西村春人氏、劉 屹氏

 西村氏はRAGについて「『知識ベース』から関連情報を検索し、それを活用して特定の業務やニーズに応じた回答を生成する技術」と説明する。

 「この技術はLLM(大規模言語モデル)に情報検索を組み合わせることでより精度の高い回答を提供する。ユーザーの質問に対して関連する情報を知識ベース(DB<データベース>やドキュメント)から検索し、その情報を基に生成AIが回答を作成することで、一般的な回答だけでなく、最新の情報や専門的な知識を含んだ適切な回答が可能だ」(西村氏)

画像 RAGの全体フロー(提供:ギブリー)

 代表的なRAGの活用例としては「社内情報検索システム」や「個別製品提案システム」などがある。社内規定や就業規則などを使って、必要な社内情報に迅速にアクセスできるようにし、問い合わせ対応の工数を減らしたり、製品マニュアルや技術文書を基に顧客に適した提案をしたりできる。

 「RAGの仕組みは、チャット画面で入力されたユーザーの指示からクエリを抽出し、知識ベースからクエリと関連度の高い文章を検索。クエリに加えた検索してきた文章をLLMに入力して回答を生成するといったものだ。知識ベースは、ドキュメントを『チャンク』に分け、ベクトル化し、知識ベースに統合する。検索のときは、クエリを同様にベクトル化し、知識ベース内のベクトルと比較することで関連する情報を取得する」(西村氏)

画像 RAGの仕組み(提供:ギブリー)

4つの質問から見える「生成AIを業務に効果的に導入する方法」とは

 鈴木氏は、ギブリーが過去に相談を受けたRAGへの質問の中から、4つの例を紹介した。

1.「Microsoft Azure」(Azure)で最適なRAG開発方法は何か

 1つ目の質問は「AzureでRAGを導入したいと考えているが、『Azure OpenAI on Your Data』を利用するのがいいのか、PaaS(Platform as a Service)などを組み合わせて独自に構築するのがいいのか」といったものだ。

 この質問への回答は以下となる。

画像 回答1(提供:ギブリー)

 Azure OpenAI on Your Dataとは、Open AIモデルをベースにしたRAGシステムを構築できるPaaSのこと。鈴木氏は「独自の企業データをベースにして手軽に実装できるPaaSのため、短期間で簡単に作りたいなら最適な選択肢だ」と述べている。

画像 Azure OpenAI on Your Dataの概要(提供:ギブリー)

 「ただ、Azure OpenAI on Your Dataは複雑なロジックや高度な前処理、精度改善には対応が難しい場合が多い。Open AI以外のモデルの使用や他のAzureサービスとの接続柔軟性にも課題がある。もし、より高度な前処理や柔軟なカスタマイズを必要としているなら、複数のPaaSを組み合わせた自社開発を検討すべきだ」(鈴木氏)

2.「Azure OpenAI Service」(AOAI)や「Azure AI Search」で回答精度に影響する項目は何か

 2つ目の質問は「RAGの回答精度向上のため、AOAIやAI Search側の設定で、回答精度に影響する項目はあるか」というものだ。

 これに対しての回答は以下となる。

画像 回答2(提供:ギブリー)

 「AOAIの精度に主要な影響を与えるパラメーターは『モデルの種類』『検索手法』『温度』の3点。その他のパラメーターも設定可能だが、劇的な精度改善は見込めないだろう」と鈴木氏は説明している

 RAGの代表的な検索手法は「フルテキスト検索」「ベクトル検索」「ハイブリッド検索」の3つ。それに加えて「セマンティックランク検索」もある。

画像 3つの検索方法とセマンティックランク付け(提供:ギブリー)

 フルテキスト検索は特定のドキュメントにおける単語の頻出度やドキュメント全体における頻出度、それにドキュメントの長さをスコアリングし、最も高いスコア(関連度の高いスコア)のドキュメントを検索するという手法だ。ベクトル検索はクエリを数値ベクトルに変換し、DBに保存されているベクトルとの類似度で検索する手法のこと。ハイブリッド検索は、フルテキスト検索とベクトル検索を組み合わせた検索となる。セマンティック検索はAIモデルを使って、検索結果を最適な順に並び替える方法だ。

 “温度”については文字通り「出力の温度感」を設定するパラメーターだ。低いと毎回の出力が一定(安定)し、高いと多様で創造的な出力になる。そのため鈴木氏は「RAGの場合はできるだけ低い設定が好ましい」と説明している。

画像 温度(提供:ギブリー)

3.RAGに格納するときに最適なフォーマットは何か

 3つ目の質問は「社内のRAGシステムにマニュアルPDFを格納しているが、FAQも格納していきたい。どのような形式であれば精度が良さそうか、フォーマットがあれば教えてほしい」だ。これに対する回答は以下の通り。

画像 回答3(提供:ギブリー)

 「重要なのは回答ごとにメタデータを付与することだ」と鈴木氏は指摘する。

画像 メタデータとは(提供:ギブリー)

 メタデータは、関連するデータを管理、検索、利用するための補助的な情報だ。例えば「有給休暇の申請方法を教えて」という質問に対して「休暇申請フォームに必要事項を入力して送信してください」といった回答があった場合、一緒に「社内規定」「就業規則, 休暇」「総務部」といったカテゴリーやタグ、著者などの情報をメタデータとして付与する。

 Azure AI Searchのfield機能やLLM向けライブラリのLangChainを使えば、メタデータの作成や付与が可能だ。

画像 LangChainによるメタデータ作成(提供:ギブリー)

 鈴木氏は「複雑な形式のデータは構造化データへ変換してから登録するとよい」と話す。

 ここで言う複雑な形式のデータは「Microsoft Excel」などで特定の項目がセル結合されているようなケースだ。例えば「東京都」が結合された1つのセルに入力され、「品川区」「港区」などが複数の行に分かれて入力されているもの。この場合は「JSON」「YAML」などの形式で扱うことで精度を向上させられるという。

画像 複雑な形式のデータ変換(提供:ギブリー)

4.RAGを評価する指標と方法は何か

 4つ目は「RAGの精度を評価するための指標や具体的な評価方法を教えてほしい」という相談だ。

画像 回答4(提供:ギブリー)

 「RAGを評価するための指標は複数ある。RAG評価用のライブラリであるRAGASというサイトでは『回答の忠実性』(Faithfulness)、『回答の関連性、質問ヘの適合性』(Answer Relevance)、『文脈の関連性、適合性』(Context Relevance)といった評価指標がデフォルト(標準)で組み込まれている」と鈴木氏は説明している。

 Faithfulness、Answer Relevance、Context Relevanceは「クエリ」「コンテキスト(RAGでリトリーブしたデータ)」「回答」という3つの要素のうち、2つの要素間の関係を評価するものだ。

画像 Faithfulness、Answer Relevance、Context Relevanceの関係性(提供:ギブリー)

 「例えば、Faithfulnessは、検索したドキュメントに基づいて回答を生成できているかどうかを評価する(コンテキストと回答間の評価)。Answer Relevanceは、生成した文章が元の質問への回答になっているかどうかを評価する(クエリと回答間の評価)。Context Relevanceは、質問に関連するドキュメントを検索できているかどうかを評価する指標だ(クエリとコンテキスト間の評価)。なお、クエリとコンテキスト間にフォーカスした指標には、他にも『Precision@k』『MRR』などがある」(鈴木氏)

画像 Precision@kとMRR(提供:ギブリー)

 RAG評価はこれ以外にもRAGASや「LangSmith」のようなツールを使う方法もある。

画像 RAG評価に使用するツール(提供:ギブリー)

 鈴木氏によると「自力でコードを組んでRAGを評価する取り組みをしている企業もある」という。

 「RAGが出力した回答と、必要な回答が合っているかどうかを比べることでRAGを評価することもできる。つまり、人が対応した場合の回答精度と比較するということだ。人がする以上の回答をRAGが実現するのは難しい。そのため人の回答レベルを基準にRAGを評価することができる」(鈴木)

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

Smart & Social 記事ランキング

本日月間

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。