AIフル活用ガイド:企業の社内情報・知的資産を生かすRAG(Retrieval Augmented Generation, 検索拡張生成) –社内情報を活用した質問対応の仕組み
1. RAGとは?(Retrieval Augmented Generation, 検索拡張生成)
まず、RAGとは、Retrieval Augmented Generation(検索拡張生成)の略称です。質問に対する回答を生成する際に、関連する文書や知識ベースから有用な情報を検索し、その情報を活用して高品質な回答を生成する手法です。
参照. RAGとAPI(ファインチューニングの違いについて)は、以下記事をご参照お願いします。
2. RAG(Retrieval Augmented Generation, 検索拡張生成)の仕組み
RAG(Retrieval Augmented Generation, 検索拡張生成)の仕組みは大きく分けて2つの段階があります。
検索段階: 質問に対して関連する文書や知識を検索します。検索エンジンやデータベースなどから関連情報を取得します。
生成段階: 検索された関連情報を参照しながら、質問への回答文を生成します。通常は事前に学習された言語モデルが使われます。
3. RAG(Retrieval Augmented Generation, 検索拡張生成)を使った質問応答モデルの構築
RAG(Retrieval Augmented Generation, 検索拡張生成)を使ってQA(質問応答)モデルを構築するには、以下の手順が一般的です。
i) 質問応答対のデータセットを用意する
ii) 回答に関連する文書や知識ベースを用意する
iii) 検索エンジンやデータベースを構築し、関連情報を検索できるようにする iv) 言語モデルを学習させ、関連情報から回答を生成できるようにする
コラム:RAG(Retrieval Augmented Generation, 検索拡張生成)を使った社内情報活用のフローの例
このフローは、今後RAG(検索拡張生成)を使った社内情報活用事例の典型的な事例になる可能性があるので、掲載しました。社内情報や社内DBは、Azure AI Search経由で検索して、ユーザーからの問い合わせに応じた文書をフロントエンドのサーバーに回答するのですが、その情報がChatGPTに学習されることはありません。フロントエンドのサーバーに来た情報を使ったプロンプトをフロントエンドサーバーで作成して、Azure OpenAIに、回答文作成の依頼をします。
例えば、特に大企業では、社内の様々な文書が、リンクを網羅したウェブサイトからつながっていると思います。そこから、必要な情報(例えば、費用清算の方法だったり、有給休暇規則の確認であったり、などなど)を見つけるのは、結構時間がかかったりします。
そんなとき、生成AI+RAGを使う事により、セキュアな形で、社内用GPTに対して、プロンプトを入力する”費用清算の仕方を教えてください”とか、だけで、適切な回答が社内文書を引用した形で回答が帰ってくるのです。
4. RAG(Retrieval Augmented Generation, 検索拡張生成)の利点
単なる言語モデルよりも、より正確で詳細な回答を生成できる
背景知識が不足している場合でも、関連情報を参照することで適切な回答を生成できる
幅広い分野の質問に対応できる柔軟性がある
5. RAG(Retrieval Augmented Generation, 検索拡張生成)の課題と制限事項
関連性の高い情報を正しく検索できるかが重要なポイント
生成された回答が矛盾したり冗長になる可能性がある
最新の情報を含む場合、検索結果が古くなるリスクがある
6. RAG(Retrieval Augmented Generation, 検索拡張生成)の活用例
カスタマーサポートでの質問対応
教育分野での質疑応答システム
ビジネスでの意思決定支援
知的な対話エージェントの構築
7. 社内情報を活用したRAG(Retrieval Augmented Generation, 検索拡張生成)の利点
RAG(Retrieval Augmented Generation, 検索拡張生成)では外部の一般的な知識ベースだけでなく、社内の機密情報や専門知識を検索対象に含めることができます。そうすることで、次のようなメリットがあります。
「社内情報に基づき、セキュアに回答文書が作成できます。企業の機密情報や専門知識を活用しながら、質問への的確な回答を生成することが可能になります。」
コラム:このRAG(Retrieval Augmented Generation, 検索拡張生成)について、コンテキストを参照した時でも、大規模言語モデル(LLM)は回答を誤るケースもあります。その際、そのエラーはいくつかの種類に分類できます。
この記事が気に入ったらサポートをしてみませんか?