翻訳者 | 李睿 レビュー | Chonglou 検索拡張生成 (RAG) は、大規模言語モデル (LLM) を使用するための重要なツールです。 RAG を使用すると、LLM は外部ドキュメントを応答に組み込むことができ、ユーザーのニーズにより密接に対応できるようになります。この機能は、特に事実が重要である場合など、従来 LLM の使用が躊躇されてきた分野で特に有益です。 ChatGPT や同様の LLM が導入されて以来、多数の RAG ツールとライブラリが登場しました。 RAG の仕組みと、ChatGPT、Claude、または選択した LLM で RAG を使い始める方法について知っておくべきことを説明します。 RAGが提供する特典開発者が大規模な言語モデルと対話する場合、モデルはトレーニング データに埋め込まれた知識を利用して応答を作成します。ただし、トレーニング データのサイズがモデルのパラメータを超えることが多く、応答が完全に正確ではない可能性があります。さらに、トレーニングで使用される情報の多様性により、LLM が詳細を混乱させ、一見もっともらしいが誤った回答を提供する可能性がある、「幻覚」と呼ばれる現象が発生します。 場合によっては、開発者は、最近公開されたニュース記事、学術論文、または会社の独自の文書など、トレーニング データに含まれていなかった情報を LLM で使用することを望むことがあります。ここで RAG が重要な役割を果たします。 RAG は、応答を生成する前に LLM に関連情報を提供することでこれらの問題に対処します。これには、外部ソースからドキュメントを取得し (名前の由来)、その内容を会話に挿入して LLM にシナリオを提供することが含まれます。 このプロセスにより、モデルの精度が向上し、提供されたコンテンツに基づいて応答を作成できるようになります。実験により、RAG は「幻覚」を大幅に軽減できることが示されました。また、トレーニング データセットに含まれていない最新情報や顧客固有の情報を必要とするアプリケーションでも有益であることが証明されています。 簡単に言えば、標準 LLM と RAG 対応 LLM の違いは、2 人の人が質問に答えることに例えることができます。標準の LLM は記憶から応答する人のようなものですが、RAG 対応の LLM は、ドキュメントを渡され、その内容に基づいて質問を読んで回答できる別の人のようなものです。 RAGの仕組みRAG の動作原理は単純です。クエリに関連する 1 つ以上のドキュメントを識別し、それらをプロンプトに組み込み、それらのドキュメントに基づいたモデルの応答の説明が含まれるようにプロンプトを変更します。 開発者は、ドキュメントの内容をプロンプトにコピーして貼り付け、そのドキュメントに基づいて応答を作成するようにモデルに指示することで、RAG を手動で実装できます。 RAG Pipeline はこのプロセスを自動化して効率を向上させます。まず、ユーザーのプロンプトをドキュメントのデータベースと比較し、トピックに最も関連性の高いプロンプトを取得します。次に、RAG パイプラインはそれらのコンテンツをプロンプトに統合し、LLM がドキュメントのコンテンツに準拠していることを確認するための指示を追加します。 RAG パイプラインには何が含まれますか?図1 埋め込みとベクターデータベースを使用した関連文書の検索 RAG は直感的な概念ですが、それを実行するには複数のコンポーネントをシームレスに統合する必要があります。 まず、応答を生成するための主要言語モデルが必要です。これに加えて、ドキュメントやユーザープロンプトを、その意味内容を表す数字のリスト、つまり「埋め込み」にエンコードするための埋め込みモデルも必要です。 次に、これらのドキュメント埋め込みを保存し、ユーザークエリを受信するたびに最も関連性の高いドキュメント埋め込みを取得するためのベクトル データベースが必要です。場合によっては、ランキング モデルは、ベクター データベースによって提供されるドキュメントの順序をさらに絞り込むのにも役立ちます。 一部のアプリケーションでは、開発者はユーザープロンプトを複数の部分に分割する追加のメカニズムを組み込むことが必要になる場合があります。これらの各部分には独自の埋め込みとドキュメント化が必要であり、生成される応答の精度と関連性が向上します。 コードなしでRAGを始める方法図 2 コードレス RAG と LlamaIndex および ChatGPT の比較 LlamaIndex は最近、開発者がコーディングをほとんどまたはまったく必要とせずに基本的な RAG アプリケーションを開発できるオープン ソース ツールをリリースしました。現在は 1 つのファイルでの使用に制限されていますが、将来の機能強化では複数のファイルとベクター データベースのサポートが含まれる可能性があります。 RAG と呼ばれるこのプロジェクトは、Streamlit Web アプリケーション フレームワークと、RAG に特に役立つ強力な Python ライブラリである LlamaIndex に基づいて構築されています。開発者が GitHub と Python に精通している場合、インストールは簡単です。リポジトリをクローンし、インストール コマンドを実行して、README で指定されている構成ファイルに OpenAI API トークンを追加するだけです。 現在、RAG は OpenAI モデルで動作するように構成されています。ただし、コードを変更して、Anthropic Claude、Cohere モデル、または Llama 2 などのサーバーでホストされているオープン ソース モデルなどの他のモデルを使用することもできます。 LlamaIndex はこれらすべてのモデルをサポートしています。 アプリケーションを最初に実行するには、RAG エージェントを設定する必要があります。これには、ファイル、ファイルを分割するチャンクのサイズ、ヒントごとに取得するチャンクの数などの設定を決定することが含まれます。 ブロックは RAG において重要な役割を果たします。本や複数ページの研究論文などの大きなファイルを扱う場合は、500 トークンなどの扱いやすいチャンクに分割する必要があります。これにより、RAG エージェントはヒントに関連するドキュメントの特定の部分を見つけることができます。 これらの手順を完了すると、アプリケーションは RAG エージェントの構成ファイルを作成し、それを使用してコードを実行します。 RAG は、拡張検索を開始して構築するための貴重なツールです。完全なガイドラインは関連ウェブサイトでご覧いただけます。 原題: LlamaIndex と ChatGPT を使用したコード不要の検索拡張生成 (RAG)、著者: Ben Dickson リンク: https://bdtechtalks.com/2023/11/22/rag-chatgpt-llamaindex/ |
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
みなさんこんにちは。私はDiaobaiです。最近、対照学習が流行っているので、ICLR2020では、...
[51CTO.com オリジナル記事] 朗報です!テクノロジー愛好家たちの熱い期待の中、1年間開催さ...
小米創始者の雷軍はかつて「風の吹き口に立てば豚でも飛べる」と言った。事実は往々にしてこの通りだ。人の...
現在、人工知能 (AI) に関する同様の規制が世界中の複数の地域で施行され始めており、GDPR に関...
2020 年はボリューメトリック ニューラル レンダリングが爆発的に普及する年です。たとえば、Ne...
火星の環境について知りたいですか?たった一文であなた自身のデジタル人物を生成したいですか?こうした最...
AR、VR、3Dプリント、シーン構築、映画制作など多くの分野において、衣服を着た人体の高品質な3Dモ...
データスキルについてまだ不安がありますか?アルゴリズムの革新を適用できる場所はありませんか?こんなに...
ダウンロードはデータの送信であることはご存じのとおりです。この点に関しては、すでに合意内容について多...
[[443228]]現在、自己教師あり学習は、手動によるラベル付けを必要とせずに強力な視覚特徴抽出機...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
先週金曜日、知会君は微博で「来週は良いものがリリースされる」と発表した。 「来週」になって間もなく、...