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ラボなどの組織が共同で時系列の教師なし事前トレーニングに関する論文を発表...

GPT-5 プレビュー!アレン人工知能研究所がGPT-5の新機能を予測する最も強力なマルチモーダルモデルを発表

GPT-5 はいつ登場し、どのような機能を持つのでしょうか?アレンAI研究所の新しいモデルがその答え...

AI + リアルタイム監視技術が公共サービスを改善する10の方法

石油やガスの価格変動、運用コストの増加、サイバー/物理的な脅威の増大により、公益事業会社はセキュリテ...

レポート:中国の人工知能都市ランキングで北京が1位に

[[431347]]中国新聞社、北京10月26日(記者 夏斌)「2021年人工知能コンピューティング...

1人当たり6万ドル:2024年NVIDIA奨学金リストが発表、中国人5名が選出

今週の金曜日、待望の NVIDIA 奨学金の受賞者リストが発表されました。 NVIDIA 大学院フェ...

ポストエピデミック時代:医療業界で成功するには?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

2021年世界人工知能会議が開幕。董明珠、馬化騰、李延紅、周紅一などの大物たちは何を語ったのか?

2021年世界人工知能会議7月8日、「インテリジェントにつながる世界、知恵の都市を築く」をテーマに...

...

強く連結されたコンポーネントを解決するための Tarjan アルゴリズムを実装する 20 行のコード

今日紹介するアルゴリズムは Tarjan と呼ばれていますが、これも非常に奇妙な名前です。奇妙なのは...

...

...

...

2021年世界の最新人工知能技術9選

1. 自然言語生成自然言語生成は、構造化されたデータをネイティブ言語に変換する流行のテクノロジーです...

...