LlamaIndex と ChatGPT を使用したコードレス検索拡張生成 (RAG)

LlamaIndex と ChatGPT を使用したコードレス検索拡張生成 (RAG)

翻訳者 | 李睿

レビュー | 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/

<<: 

>>: 

ブログ    
ブログ    

推薦する

人間とAIの初の討論会:観客が「メロンを食べていた」ため、AI討論者が勝利

[[234490]] 「ニュース速報、ニュース速報、人間と AI の最初の討論会は敗北しました......

...

2020年に人工知能はどのように発展するでしょうか?知っておくべき6つのトレンド

過去1年を振り返ると、人工知能の発展は繁栄し、多彩なものであったと言えます。人工知能が3回連続で政府...

人工知能: Web3 の救世主か破壊者か?

ブロックチェーン技術の発展に伴い、Web3(分散型Webとも呼ばれる)が徐々にWeb2(集中型Web...

...

Googleとハーバード大学がこれまでで最も複雑な3D脳マップを作成

脳の神経回路を研究するのは簡単ではありません。なぜなら、現時点では、すべてのニューロン、シナプス、そ...

機械学習の決定木とランダムフォレストモデル

[[206785]]決定木導入決定木は機械学習において非常に一般的な分類方法です。すべてのアルゴリズ...

AIがいかにして驚異的なコードフローチャートを正確に生成するか

みなさんこんにちは、私はムチュアンですAI がなければ、コードを読み、自分の理解に基づいて XMin...

AIが自動化に適した日常的なITタスク3つ

AIで自動化できる3つのITタスク幸いなことに、人工知能が役に立ちます。ここでは、AI が手動で実行...

1行のコマンドで顔認識を実装する方法を教えます

[[207803]]環境要件ウブントゥ 17.10 Python 2.7.14環境構築1. Ubun...

ロボット工学アプリケーションは、Metaverse テクノロジーを通じてどのように普及するのでしょうか?

[[436311]]最近、Meta CEO マーク・ザッカーバーグ氏によるメタバースの推進が大きな...

誰かが匿名ソフトウェアで私の学校を爆破したいと言っていたので、私はすぐに先生と警察に通報しました。xdm、私は正しいことをしたのでしょうか?

ビッグデータダイジェスト制作著者: カレブ空には太陽が輝き、花々は私に微笑みかけ、鳥たちは「おはよう...

機械プログラミングが次に投資すべきテクノロジーである理由は何ですか?

[[413321]] [51CTO.com クイック翻訳]一連の新しいツールは、機械学習やその他の...

このアリは写真を撮ることができます!プリンストン大学は、50万分の1の大きさに縮小されたミクロンレベルのカメラを開発した。

最近、プリンストン大学の研究者らは、世界初の高品質ミクロンスケール光学イメージングデバイス「ニューラ...