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/

<<: 

>>: 

ブログ    
ブログ    

推薦する

金融を専攻する学生は人工知能をどのように学ぶべきでしょうか?

[[209094]]大学時代の専攻は自動制御で、当時は人工知能の冬でした。ある日、ニューラルネット...

今後 10 年間であなたの仕事は人工知能に置き換えられるでしょうか?

近年、インターネットは急速に発展しすぎていると言わざるを得ません。最後に銀行に行ってお金を引き出した...

...

人工知能は「馴染みのものを殺す」ツールになるのでしょうか?

長い間、私の携帯電話のパッケージには主に 400 分の通話時間 + 500M のネットワーク トラフ...

Google がオールラウンドな音楽転写 AI を発表: 曲を一度聴くだけでピアノとバイオリンの楽譜がすべて手に入る

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

2020年に人工知能は私たちの生活をどのように変えたのでしょうか?

2020年はごく平凡な年であると同時に、非常に非凡な年でもありました。生活の面では、人工知能が配達...

2021 年のビジネス インテリジェンスの 7 つのトレンド

[[418205]]ビジネス インテリジェンスの応用は、近年、人工知能、機械学習、自然言語処理 (N...

...

マイクロソフトは、Power Platform 向け Copilot サービスの開始を正式に発表しました。これにより、AI によるアプリ開発が一文で可能になります。

マイクロソフトは10月27日、エンタープライズアプリケーションカンファレンスにおいて、ローコードプラ...

...

...

強化学習を使用して、顧客が注目する広告を選択する方法

[51CTO.com クイック翻訳] 現在、世界中のデジタル広告代理店は、ニュースサイト、検索エンジ...

Baidu が AI ホームシアターのソフトウェアとハ​​ードウェアを統合したエコシステムを発表

2月28日、BaiduはXiaodu新製品戦略発表会で、Xiaodu TV CompanionとXi...

...