llamaindexを使用したragでのメモリとハイブリッド検索
導入
検索拡張生成(RAG)パイプラインは、AIシステムがカスタムデータとどのように相互作用するかを改善していますが、ここで焦点を当てる2つの重要なコンポーネント:メモリとハイブリッド検索。この記事では、これらの強力な機能を統合することで、RAGシステムを単純な質問ツールからコンテキスト認識のインテリジェントな会話エージェントに変えることができる方法を探ります。
RAGのメモリにより、システムは会話履歴を維持および活用し、より首尾一貫したコンテキストに関連する相互作用を作成できます。一方、ハイブリッド検索は、ベクトル検索のセマンティック理解とキーワードベースのアプローチの精度と組み合わせて、RAGパイプラインの検索精度を大幅に向上させます。
この記事では、llamaindexを使用して、qdrantを使用してベクターストアとして、Googleのジェミニを大規模な言語モデルとして使用してメモリとハイブリッド検索の両方を実装します。
学習目標
- RAGシステムにおけるメモリの役割の実装理解と、文脈的に正確な応答の生成への影響を取得します。
- GoogleのGemini LLMおよびQdrant Fast EmbeddingsをLlamainDexフレームワーク内に統合することを学ぶことができます。これは、OpenAIがLlamainDexで使用されるデフォルトのLLMおよび埋め込みモデルであるため有用です。
- QDrant Vector Storeを使用してハイブリッド検索技術の実装を開発し、ベクトルとキーワード検索を組み合わせて、RAGアプリケーションの検索精度を強化します。
- QDRANTの機能をベクターストアとして調べて、組み込みのハイブリッド検索機能と高速埋め込み機能に焦点を当てています。
この記事は、データサイエンスブログソンの一部として公開されました。
目次
- QDRANTでのハイブリッド検索
- LlamainDexを使用したメモリとハイブリッド検索
- ステップ1:インストール要件
- ステップ2:LLMと埋め込みモデルを定義します
- ステップ3:データの読み込み
- ステップ4:ハイブリッド検索でQDRANTをセットアップします
- ステップ5:ドキュメントのインデックス付け
- ステップ6:インデックスクエリエンジンのクエリ
- ステップ7:メモリを定義します
- ステップ8:メモリを使用したチャットエンジンの作成
- ステップ9:メモリのテスト
- よくある質問
QDRANTでのハイブリッド検索
大規模なeコマースサイトのチャットボットを構築していると想像してください。ユーザーは、「最新のiPhoneモデルを見せて」と尋ねます。従来のベクトル検索では、意味的に同様の結果が得られる場合がありますが、正確な一致を見逃す可能性があります。一方、キーワード検索は剛性が高すぎる可能性があります。ハイブリッド検索はあなたに両方の最高の世界を提供します:
- ベクトル検索は、セマンティックの意味とコンテキストをキャプチャします
- キーワード検索により、特定の用語の精度が保証されます
QDRANTは、この記事で選択したベクトルストアであり、正当な理由です。
- QDRANTは、定義されたときにハイブリッドパラメーターを有効にするだけで、ハイブリッド検索の実装を簡単にします。
- モデルがONNX形式でロードされる場所を使用して、最適化された埋め込みモデルが付属しています。
- QDRANTの実装は、機密情報の保護を優先し、汎用性の高い展開オプションを提供し、応答時間を最小限に抑え、運用費を削減します。
LlamainDexを使用したメモリとハイブリッド検索
LlamainDexフレームワーク内でのメモリとハイブリッド検索の実際の実装に飛び込み、これらの機能が検索拡張生成(RAG)システムの機能をどのように強化するかを示します。これらのコンポーネントを統合することにより、履歴データと高度な検索手法の両方を効果的に利用する、よりインテリジェントでコンテキストを意識した会話エージェントを作成できます。
ステップ1:インストール要件
さて、これを段階的に分解しましょう。 QDRANTからファストメイド、GoogleのGeminiモデル、QDRANT Vector Store、LlamainDex、QDRANT Vector Storeを使用します。これらのライブラリがインストールされていることを確認してください。
1 2 |
|
ステップ2:LLMと埋め込みモデルを定義します
まず、依存関係をインポートして、APIキーを設定しましょう。
1 2 3 4 5 6 7 8 9 10 |
|
次に、サンプルユーザークエリでそのLLMを実行することにより、APIが現在定義されているかどうかをテストしましょう。
1 2 |
|
Llamaindexでは、OpenAIはデフォルトのLLMおよび埋め込みモデルであり、LlamainDex Coreから設定を定義する必要があることをオーバーライドします。ここでは、LLMと埋め込みモデルの両方をオーバーライドする必要があります。
1 2 3 4 |
|
ステップ3:データの読み込み
この例では、データフォルダーにPDFがあると仮定しましょう。LlamainDexのSimpleDirectoryリーダーを使用してデータフォルダーをロードできます。
1 2 |
|
ステップ4:ハイブリッド検索でQDRANTをセットアップします
QDRANTVectorStoreインスタンスを定義し、この例ではメモリに設定する必要があります。また、QDRANTクライアントをクラウドサービスまたはLocalHostで定義することもできますが、メモリの記事では、コレクション名の定義を行う必要があります。
これにより、qdrantのハイブリッド検索機能を使用できるため、enable_hybrid = trueを確認してください。データフォルダーには、エージェントに関する研究論文にPDFが含まれているため、コレクション名は「Paper」です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
ステップ5:ドキュメントのインデックス付け
ラグシステムにメモリとハイブリッド検索を実装することで、よりインテリジェントでコンテキストを作成しました。
1 2 3 4 5 6 |
|
ステップ6:インデックスクエリエンジンのクエリ
インデックス作成は、LlamainDexのレトリバーとジェネレーターチェーンを定義している部分です。ドキュメントコレクションで各ドキュメントを処理し、各ドキュメントのコンテンツの埋め込みを生成します。次に、これらの埋め込みをQDRANTベクターストアに保管します。効率的な検索を可能にするインデックス構造を作成します。クエリエンジンを定義しながら、ハイブリッドでクエリモードを必ず確認してください。
1 2 3 4 5 6 7 8 |
|
上記のクエリエンジンでは、コンテキスト内にある2つのクエリを実行し、もう1つはコンテキストの外側を実行します。これが私たちが得た出力です:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
ステップ7:メモリを定義します
チャットボットはうまく機能し、改善された応答を提供していますが、複数の相互作用にわたってコンテキストの認識が不足しています。これは、メモリが写真に入る場所です。
1 2 3 |
|
ステップ8:メモリを使用したチャットエンジンの作成
ハイブリッド検索とメモリの両方を使用するチャットエンジンを作成します。 lamaindexでは、外部データまたは外部データがある場合、ragベースのアプリケーションの場合は、チャットモードがコンテキストであることを確認します。
1 2 3 4 5 6 7 |
|
ステップ9:メモリのテスト
いくつかのクエリを実行して、メモリが期待どおりに機能しているかどうかを確認しましょう。
1 2 3 4 5 6 7 |
|
結論
メモリとハイブリッド検索を検索拡張生成(RAG)システムに統合することで、能力が大幅に向上する方法を調査しました。 QDRANTをベクトルストアとしてQDRANTと大規模な言語モデルとしてGoogleのGeminiを使用することにより、ハイブリッド検索がベクターとキーワードベースの検索の強度を組み合わせてより正確な結果を提供する方法を実証しました。メモリを追加すると、コンテキストの理解がさらに向上し、チャットボットが複数の相互作用にわたってコヒーレントな応答を提供できます。一緒に、これらの機能は、よりインテリジェントでコンテキスト認識システムを作成し、複雑なAIアプリケーションに対してラグパイプラインをより効果的にします。
キーテイクアウト
- RAGパイプラインでのメモリコンポーネントの実装により、チャットボットのコンテキスト認識と、複数のインタラクション全体で一貫した会話を維持する能力が大幅に向上します。
- QDRANTを使用したハイブリッド検索のベクトルストアとしての統合。ベクターとキーワード検索の両方の強度を組み合わせて、幻覚のリスクを最小限に抑えるRAGシステムの検索精度と関連性を改善します。免責事項、幻覚を完全に除去するわけではありません。むしろリスクを軽減します。
- 会話履歴を効率的に管理するためのLlamaindexのChatMemoryBufferの利用、コンテキストの保持と計算リソースのバランスをとる構成可能なトークン制限。
- LlamainDexフレームワーク内にLLMおよび埋め込みプロバイダーとしてGoogleのGeminiモデルを組み込むと、さまざまなAIモデルと埋め込み技術に対応するLlamainDexの柔軟性が示されています。
よくある質問
Q 1。ハイブリッド検索とは何ですか?なぜそれがぼろきれで重要なのですか?A.ハイブリッド検索は、ベクトル検索のセマンティック理解のための検索と精度のキーワード検索を組み合わせます。これにより、システムがコンテキストと正確な用語の両方を考慮し、特に複雑なデータセットでより良い検索結果につながることにより、結果の精度が向上します。
Q2。なぜragでハイブリッド検索にqdrantを使用するのですか?A. QDRANTは、箱から出してハイブリッド検索をサポートし、高速埋め込みに最適化されており、スケーラブルです。これにより、RAGシステムでベクターとキーワードベースの両方の検索を実装し、大規模なパフォーマンスを確保するための信頼できる選択肢になります。
Q3。メモリはRAGシステムをどのように改善しますか?A.ラグシステムのメモリにより、会話履歴の保持が可能になり、チャットボットが相互作用全体でよりコヒーレントでコンテキスト的に正確な応答を提供し、ユーザーエクスペリエンスを大幅に向上させることができます。
Q4。RAGアプリケーションにクラウドベースのAPIの代わりにローカルモデルを使用できますか?A.はい、OpenAIなどのクラウドベースのAPIを使用する代わりに、ローカルLLM(OllamaやHuggingfaceなど)を実行できます。これにより、外部サーバーにアップロードせずにデータを完全に制御することができます。これは、プライバシーに敏感なアプリケーションの一般的な関心事です。
この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。
以上がllamaindexを使用したragでのメモリとハイブリッド検索の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











メタのラマ3.2:マルチモーダルとモバイルAIの前進 メタは最近、ラマ3.2を発表しました。これは、モバイルデバイス向けに最適化された強力なビジョン機能と軽量テキストモデルを特徴とするAIの大幅な進歩です。 成功に基づいてo

ねえ、忍者をコーディング!その日はどのようなコーディング関連のタスクを計画していますか?このブログにさらに飛び込む前に、コーディング関連のすべての問題について考えてほしいです。 終わり? - &#8217を見てみましょう

今週のAIの風景:進歩、倫理的考慮、規制の議論の旋風。 Openai、Google、Meta、Microsoftのような主要なプレーヤーは、画期的な新しいモデルからLEの重要な変化まで、アップデートの急流を解き放ちました

Shopify CEOのTobiLütkeの最近のメモは、AIの能力がすべての従業員にとって基本的な期待であると大胆に宣言し、会社内の重大な文化的変化を示しています。 これはつかの間の傾向ではありません。これは、pに統合された新しい運用パラダイムです

導入 Openaiは、待望の「Strawberry」アーキテクチャに基づいて新しいモデルをリリースしました。 O1として知られるこの革新的なモデルは、推論能力を強化し、問題を通じて考えられるようになりました

導入 鮮やかな絵画や彫刻に囲まれたアートギャラリーを歩くことを想像してください。さて、各ピースに質問をして意味のある答えを得ることができたらどうでしょうか?あなたは尋ねるかもしれません、「あなたはどんな話を言っていますか?

私のコラムに新しいかもしれない人のために、具体化されたAI、AI推論、AIのハイテクブレークスルー、AIの迅速なエンジニアリング、AIのトレーニング、AIのフィールディングなどのトピックなど、全面的なAIの最新の進歩を広く探求します。

メタのラマ3.2:マルチモーダルAIパワーハウス Metaの最新のマルチモーダルモデルであるLlama 3.2は、AIの大幅な進歩を表しており、言語理解の向上、精度の向上、および優れたテキスト生成機能を誇っています。 その能力t
