新規事業のつくり方

新しいことを学ぶことが好きです。今は機械学習や自然言語処理に興味があります。

カテゴリ: RAG

本記事では、Azure AI SearchとLangChainを使用して、Retrieval-Augmented Generation (RAG) システムを構築する方法を解説します。

RAGは生成AIの精度を向上させるための有力な技術であり、Azure AI Searchの強力な検索機能とLangChainの柔軟な処理フレームワークを組み合わせることで、効率的で高精度な情報検索と生成が可能になります。

Azure AI Searchとは

Azure AI Searchはクラウド型の検索サービスです。全文検索、ベクトル検索、ハイブリッド検索、セマンティック検索(ランク付け)を利用できます。

Azure AI Searchでは、インデックス内に複数のJSON形式のドキュメントを格納する形式でデータを保存します。インデックスでは、フィールド名、データ型(String, Int, Double等)、フィールド属性(取得可能,フィルター可能,ソート可能,キー等)を設定して作成できます。 
続きを読む

Azure AI Document Intelligenceを活用したLangChainとの連携によるRAG(Retrieval-Augmented Generation)の具体的な手順を解説します。本記事では、AI Document IntelligenceによるドキュメントのMarkdown変換と、LangChainを用いたチャンク分割の方法を中心にご紹介します。

Azure AI Document Intelligenceとは

Azure Document Inteligenceとは、pdf や画像ファイルから情報抽出するOCRサービスです。取得可能な情報として、テキスト、テーブル、段落、座標、レイアウト情報を抽出できます。一般的な文章の文字起こしや、領収書や請求書などの読み取りなど様々なデータの処理が可能です。

様々な事前学習済みのモデルが提供されており、例えばLayoutモデルを用いると、文書構造(レイアウト情報)を保ったまま、Markdown の形式で抽出することが可能です。
Markdown の形式で抽出し、#、##等の見出しで分割することで、セマンティックチャンキングが可能となります。

続きを読む

生成AIは、時々間違った情報を作り出してしまうことがあります。これを「ハルシネーション」と呼びます。この記事では、ハルシネーションがどうして起こるのか、そしてそれを防ぐ方法を説明します。

ハルシネーションが起こる理由

ハルシネーションは、大きく3つの原因で起こります。

1. LLMの学習データが原因

LLMの学習データが、ハルシネーションの大きな原因になります。

誤情報の含有: LLMが学習するデータに古い情報や誤った情報が含まれている場合、モデルはその情報を学習し、誤った答えを生成することがあります。LLMはデータ内のパターンを学習するため、誤情報であってもそれを再現してしまう可能性があります。

知識の限界: LLMが学習するデータに特定分野の知識が十分に含まれていない場合、正確な答えを出せないことがあります。この場合、モデルは他の類似した情報に基づいて推測するため、誤った情報を生成するリスクが高まります。
続きを読む

RAG (Retrieval Augmented Generation) システムの設計における失敗ポイントと、ケーススタディから得られた教訓を報告されている論文を紹介します。

タイトル:Seven Failure Points When Engineering a Retrieval Augmented Generation System

RAGシステムが失敗する理由

一般的にRAGシステムの精度が低い原因は、検索に起因する部分が大きいと言われています。RAGは、ユーザーのクエリから検索するわけですが、クエリが曖昧だと解釈が難しいですし、一方複雑なクエリも、それはそれで正確に回答するのは難しいです。

また、参照するドキュメントも様々な落とし穴があります。ドキュメントが章ごとに分かれており、内容が正しく、明確な文章で記載されていれば問題ありません。しかし、情報が古かったり、ドキュメントの形式がばらばらだったり、ページ構成が複雑だと、検索で引っ掛けるのが難しくなります。
続きを読む

OpenAIのRAG(Retrieval Augmented Generation、検索拡張生成)を紹介します。
RAGの手法により、企業の社内文書や最新ニュースなど、GPTが学習していない独自の知識を元に、回答することが可能です。

RAG(Retrieval Augmented Generation)とは

質問文に対し、検索した参考情報(Context)を付けてLLMに質問する仕組みがRAGです。RAGは質問タスクを、Contextの要約タスクに変換していると言えます。

RAGは、「DB登録」「検索」「生成」の3つのステップを経て、質問に対する答えを生成します。
「DB登録」では、社内文書を分割(チャンク)してベクトルDBに格納します。ベクトル化にはLLMが用いられることが多いです。
「検索」では、質問文との類似度を検索(Retrieval)し、関連文書を抽出します。
「生成」では、抽出した関連文書を元に、LLMが自然な回答文章を作ります。
続きを読む

↑このページのトップヘ