paint-brush
ラマインデックスとは何ですか? LLM オーケストレーション フレームワークの包括的な調査@datastax
1,439 測定値
1,439 測定値

ラマインデックスとは何ですか? LLM オーケストレーション フレームワークの包括的な調査

DataStax7m2023/11/08
Read on Terminal Reader

長すぎる; 読むには

この投稿では、プライベート データ生成 AI のすべてのニーズに対応するデータ統合、データ編成、データ取得のフレームワークとして LlamaIndex を使用する方法について説明します。
featured image - ラマインデックスとは何ですか? LLM オーケストレーション フレームワークの包括的な調査
DataStax HackerNoon profile picture

アプリケーション開発プロセスへの生成 AI の急速な統合により、プライベート データとトレーニングに使用されるパブリック データを統合できるようにする必要性が高まっています。 大規模な言語モデル(LLM)。これが引き起こす課題は、ほとんどのプライベート データが構造化されておらず、サイロ化されており、LLM が容易にアクセスできる形式ではないことです。


最近のウェビナーでは、 エンタープライズ向けの大規模言語モデルでは、LLM を ChatGPT を超えたアプリケーションにどのように使用できるか、また一般に利用可能な LLM がトレーニングされる公開データを増強するためにプライベート データをどのように使用する必要があるかを調査しました。ここで、LlamaIndex のようなソリューションが活躍します。これらのソリューションは、プライベート データの取り込みとクエリを行うための組み込みツールを使用して LLM アプリを構築するためのオーケストレーション フレームワークを提供します。


この投稿では、プライベート データ生成 AI のすべてのニーズに対応するデータ統合、データ編成、データ取得のフレームワークとして LlamaIndex を使用する方法を説明します。


ラマインデックスとは何ですか?

前述したように、LlamaIndex は、LLM アプリケーションの構築を簡素化するオーケストレーション フレームワークまたは「データ フレームワーク」です。プライベート データのデータ拡張を実行する機能を提供し、知識の生成と推論のために LLM にプライベート データを組み込むことができます。すべての生成 AI 機能の中心となるのはデータです。エンタープライズ アプリケーションは、LLM がトレーニングされる公開データ以上のものにアクセスできる必要があり、アプリケーションを構築するために内部および外部のすべてのデータ ソースから構造化データ、非構造化データ、および半構造化データを組み込む必要があります。


LlamaIndex が提供するのは、このデータの統合です。複数の一意のソースからデータを取り込む。 埋め込みそのデータをベクトルとして扱います。新しくベクトル化されたデータをベクトル データベースに保存します。最終的には、アプリケーションがそのデータを使用して、ベクトル検索などの待ち時間の短い応答時間で複雑な操作を実行できるようになります。


利点

  • API、PDF、SQL、NoSQL、ドキュメントなどの既存のデータ ソースを LLM アプリケーションで使用するために接続する簡素化されたデータ インジェスト。
  • ダウンストリームのベクター ストア/ベクター データベースとのネイティブ統合により、さまざまなアプリケーションのユースケースで使用できるプライベート データをネイティブに保存およびインデックス付けします。
  • 組み込みのクエリ インターフェイス。データの入力プロンプトから知識が拡張された応答を返す機能を提供します。


使用例

  • 自然な顧客エンゲージメントを実現するために、製品ドキュメントとのリアルタイムの対話を提供する自然言語チャットボットを構築します。
  • 絶えず増加する知識ベースに基づいて変化するデシジョン ツリーに対応できる、認知を意識した知識エージェントを構築します。
  • 自然言語と人間の対話を使用して、大量の構造化データを操作します。
  • 公開データを非公開の知識コーパスで強化し、アプリケーション固有の連携を提供します。


LlamaIndex はどのように機能しますか?

以前は GPT Index として知られていた LlamaIndex は、LLM ベースのアプリケーションを構築するためのエンドツーエンドのライフサイクルを管理するために必要なツールを提供するフレームワークです。 LLM ベースのアプリケーションを構築する際の課題は、通常、複数の異なるソースからのデータが必要であり、共通のデータ表現に強く準拠していない限り、必要なデータはさまざまな形式 (高度に構造化されたもの、非構造化されたもの、および高度に構造化されたもの、非構造化されたものなど) であることです。間。


そこで LlamaIndex は、データの取り込みとデータのインデックス作成のためのツールを使用して、このデータのロックを解除するためのツールボックスを提供します。取り込まれてインデックスが作成されると、 検索拡張生成(RAG) アプリケーションは、LlamaIndex クエリ インターフェイスを使用して、そのデータにアクセスし、LLM に電力を供給できます。


摂取

LlamaIndex には、カスタム データ ソースを LLM に接続する機能を提供する数百のデータ ローダーがあります。 Airtable、Jira、Salesforce などの事前に構築されたソリューションを、ファイル、JSON ドキュメント、単純な CSV、非構造化データからデータを読み込むための汎用プラグインに接続します。

データ ローダーの完全なリストは、次の場所にあります。ラマハブ


インデックス作成

データが取り込まれたら、LLM で簡単にクエリできるように、データを数学的に表現する必要があります。 LlamaIndex を使用すると、インデックスは複数の異なる次元でデータを数学的に表現する機能を提供するだけです。データのインデックス作成は新しい概念ではありません。ただし、機械学習を使用すると、インデックス作成の粒度を 1 つまたは 2 つの次元 (キー/値の表現など) から数百または数千の次元に拡張できます。


機械学習および LLM 用にデータにインデックスを付ける最も一般的なアプローチは、ベクトル インデックスと呼ばれます。データにインデックスが付けられると、データの数学的表現はベクトル埋め込みと呼ばれます。インデックス作成モデルと埋め込みモデルには多くの種類がありますが、データが埋め込まれると、同様の意味を持つテキストなどは同様の数学的表現を持つため、データの数学的表現を使用してセマンティック検索を行うことができます。たとえば、クエリが王族に関する場合、国王と女王の関連性は高くなりますが、クエリが性別に関する場合は関連性が高くない可能性があります。


クエリを実行する

ここで、LlamaIndex と LLM の真の力が発揮されます。 LlamaIndex を使用したデータのクエリは、データをマージ/結合して検索するための複雑な一連のコマンドではないため、「LlamaIndex」と呼ばれる概念を通じて自然言語として表現されます。 迅速なエンジニアリング。データを取り込んでインデックスを作成した後でデータとのやり取りを表示する最も簡単な方法は、クエリが質問をして応答を得るプロセスになることです。


LlamaIndex のさまざまなインデックスとは何ですか?

LlamaIndex は、データの探索と分類の方法を最適化するように設計された、いくつかの異なるインデックス作成モデルを提供します。これは最終的に多くの利点を達成できる場所です。アプリケーションがデータに対して実行する必要がある操作の種類がわかっている場合、特定の種類のインデックスを活用すると、LLM を使用してクエリをインスタンス化するアプリケーションに大きなメリットをもたらすことができます。


リストインデックス

リスト インデックスは、データを分割し、連続したリストの形式でデータを表すアプローチです。これの利点は、データを多次元的に探索できる一方で、データのクエリに対する主な最適化がシーケンシャル パターンを介して行われることです。このタイプのインデックスは、時間の経過とともに発生する構造化オブジェクトに適しているため、時間の経過とともに物事がどのように変化したかをクエリする変更ログなどに適しています。


ツリーインデックス

ツリー インデックスを使用する場合、LlamaIndex は入力データを取得し、データが親ノードと葉ノードとして編成されるバイナリ ツリー構造に編成します。ツリー インデックスを使用すると、大量のデータを横断し、検索でツリーを横断する方法に基づいてテキストの特定のセグメントを抽出する必要がある応答を構築することができます。ツリー インデックスは、サポート/FAQ エンジン上に自然言語処理チャットボットを構築するなど、追跡または検証したい情報のパターンがある場合に最適です。


ベクトルストアインデックス

ベクトル ストア インデックス タイプを使用する場合、LlamaIndex はデータ ノートをベクトル埋め込みとして保存します。これは、ベクトル検索や類似性検索など、複数の異なる方法でデータの表現を使用できる機能を提供するため、おそらく最も一般的なインデックス付けの種類です。ベクター ストア インデックスを使用してデータにインデックスが付けられると、単一のアプリケーションまたはより大きなデータセットで小規模なデータセットに対してローカルで利用したり、複数の異なる LLM/アプリケーション間で使用したりすることができ、高性能ベクター データベースに保存できます。のようにアストラDB


キーワードインデックス

キーワードのインデックス作成は、メタデータ タグ、つまりキーワードをそれらのキーワードを含む特定のノードにマッピングする従来のアプローチに近いものです。このマッピングは、キーワードに基づいて関係の網を構築します。これは、キーワードが複数の異なるノードにマッピングされたり、ノードが複数の異なるキーワードにマッピングされたりするためです。このインデックス作成モデルは、大量のデータにタグを付け、複数の異なるデータセットにわたってクエリできる特定のキーワードに基づいてデータをクエリする場合に適しています。たとえば、法的説明会、医療記録、または特定の種類のメタデータに基づいて調整する必要があるその他のデータなどです。


LlamaIndex と LangChain: 主な比較

大きな疑問の 1 つは、LlamaIndex と LangChain をどのように比較するのか、同様の機能を提供するのか、それとも相互に補完し合うのかということです。実際には、LlamaIndex と LangChain は同じコインの裏表を提供します。どちらもアプリケーションで LLM と機械学習へのインターフェイスを提供するように設計されていますが、LlamaIndex は、データのインテリジェントな検索のためのインデックス作成およびクエリ機能を提供するために特別に設計および構築されています。そのコインの裏側には、自然言語処理を介してデータと対話する機能があります。つまり、データと対話するチャットボットを構築するか、そのデータを使用してコードの呼び出しなどの他の機能を駆動することができます。


LlamaIndex は、所有するデータをさまざまな形式で保存し、そのデータをさまざまなソースから取得する機能を提供し、最終的に生成 AI アプリケーションの方法を提供します。


LangChain は、保存されたデータを使用して何かを実行し、コードを生成し、生成的な質問の回答を提供し、意思決定を促進する機能を提供し、最終的に生成 AI アプリケーションに何を提供するかを提供します。


LlamaIndex を使用してどのようなプロジェクトを構築できますか?

LlamaIndex を使用すると、生成 AI アプリケーションを構築するためにデータの取り込み、インデックス付け、クエリを実行するための使いやすいデータ/オーケストレーション フレームワークが得られます。上記では開始するための簡単な例を提供しましたが、LlamaIndex の真の力は、データ駆動型 AI アプリケーションを構築する機能から生まれます。モデルを再トレーニングする必要はありません。LlamaIndex と拡張性の高いベクター データベースを使用して、カスタム クエリ エンジン、会話型チャットボット、または受信データを動的に解釈してコンテキストに合わせて複雑な問題解決と対話できる強力なエージェントを作成できます。リアルタイムでの意思決定。


Astra DB のベクトル検索を使用してリアルタイムの生成 AI アプリを構築する

そのため、プライベート データを活用し、そのデータを操作して応答するアプリケーションの機能にそれを組み込む機能が必要な生成 AI アプリケーションを構築するときは、取り込み、インデックス作成、クエリの開始点として LlamaIndex が最適です。ただし、過去の間違いを繰り返して、AI アプリケーションで使用、埋め込み、アクセスしているデータをサイロ化しないでください。これらのエンベディングとインデックスを Astra DB のような拡張性の高いベクター ストアに保存することを含む、完全なエンドツーエンド ソリューションを構築します。



LlamaIndex の使用を開始し、DataStax と LlamaIndex がどのように連携してより優れているかを確認するには、最近の DataStax ブログ投稿「 ペタバイト規模の GenAI アプリの構築がさらに簡単になりました。

大量のデータを大規模に処理できるように設計された Apache Cassandra 上に構築された、世界最高パフォーマンスのベクター ストアの 1 つで Astra DB をセットアップおよびデプロイする方法の詳細については、こちらをご覧ください。無料で始めるには、ここに登録


-ビル・マクレーン著、DataStax