llamaindex:大規模な言語モデルを強化するデータフレームワーク
llamaindexは、大規模な言語モデル(LLM)に基づくアプリケーションデータフレームワークです。 GPT-4のようなLLMは、強力な自然言語処理機能を箱から出して提供するために、大量のパブリックデータセットを事前にトレインします。ただし、ユーティリティは、あなた自身のプライベートデータにアクセスせずに制限されます。
llamaindexを使用すると、柔軟なデータコネクタを介してAPI、データベース、PDF、その他のソースからのデータを摂取できます。これらのデータは、LLM向けに最適化された中間表現にインデックス化されています。 LlamainDexは、クエリエンジン、チャットインターフェイス、およびLLM駆動型エージェントを介して、自然言語のクエリとデータとの会話を許可します。これにより、LLMはモデルを再訓練せずに大規模にプライベートデータにアクセスして解釈できます。
データを照会するための単純な自然言語方法を探している初心者であるか、深いカスタマイズが必要な高度なユーザーである場合、LlamainDexには対応するツールがあります。高度なAPIを使用すると、5つの要素コードのみを開始できますが、低レベルのAPIを使用すると、データの摂取、インデックス作成、検索などを完全に制御できます。
llamaindexは、大規模な言語モデルとプライベートナレッジベースを組み合わせた検索拡張生成(RAG)システムを使用します。通常、インデックスフェーズとクエリフェーズの2つのフェーズで構成されています。
写真は高度な概念からのものです
インデックス段階では、LlamainDexはプライベートデータをベクトルインデックスに効率的にインデックスに導きます。このステップは、フィールドに固有の検索可能な知識ベースを作成するのに役立ちます。テキストドキュメント、データベースレコード、知識グラフ、およびその他のデータ型を入力できます。
本質的に、インデックスはデータを数値ベクトルまたは埋め込みに変換して、その意味的な意味をキャプチャします。コンテンツ間の類似性をすばやく検索できます。
この手順により、LLMは初期トレーニングに含まれない可能性のある現在および更新された情報にアクセスできます。
この段階での主な課題は、存在する可能性のある複数の知識ベースから情報を取得、整理、および推論することです。
Pineconeの検索強化コードサンプルのRAGの詳細をご覧ください。
PIPを使用してLlamainDexをインストールするだけです。
デフォルトでは、LlamaindexはOpenai GPT-3 Text-Davinci-003モデルを使用します。このモデルを使用するには、openai_api_keyを設定する必要があります。 OpenAIの新しいAPIトークンにログインすることにより、無料のアカウントを作成し、APIキーを取得できます。
<code>pip install llama-index</code>
<code>pip install llama-index</code>
Llamaindex
<code>import os os.environ["OPENAI_API_KEY"] = "INSERT OPENAI KEY"</code>
Datalabを使用してPythonコードを実行することに注意してください。 LlamainDexのすべての関連コードと出力にアクセスできます。LLMワークブックに個人データを追加して、コンピューターに何もインストールせずにすべてのコードを実行できます。
何かを実行する前に、Llama-Index、Openai、およびPypdfをインストールする必要があります。 PDFファイルを読み取って変換できるように、PYPDFをインストールします。
データを読み込み、インデックスを作成します
<code>pip install openai</code>
実行クエリを実行
<code>%pip install llama-index openai pypdf</code>
注:PythonチュートリアルのOpenai APIを介してGPT-3.5とGPT-4を使用する手順に従って、DatalabでOpenAI APIを設定できます。
ご覧のとおり、LLMモデルはクエリに正確に回答します。インデックスを検索し、関連情報を見つけました。
<code>from llama_index import TreeIndex, SimpleDirectoryReader resume = SimpleDirectoryReader("Private-Data").load_data() new_index = TreeIndex.from_documents(resume)</code>
<code>query_engine = new_index.as_query_engine() response = query_engine.query("When did Abid graduated?") print(response)</code>
<code>Abid graduated in February 2014.</code>
<code>response = query_engine.query("What is the name of certification that Abid received?") print(response)</code>
<code>Data Scientist Professional</code>
完了したら、ストレージコンテキストをすばやく読み込み、インデックスを作成できます。
それが適切に機能することを確認するために、履歴書のクエリエンジンの質問を尋ねます。コンテキストを正常にロードしたようです。
<code>new_index.storage_context.persist()</code>
<code>from llama_index import StorageContext, load_index_from_storage storage_context = StorageContext.from_defaults(persist_) index = load_index_from_storage(storage_context)</code>
<code>query_engine = index.as_query_engine() response = query_engine.query("What is Abid's job title?") print(response)</code>
簡単な質問をします。
<code>Abid's job title is Technical Writer.</code>
<code>query_engine = index.as_chat_engine() response = query_engine.chat("What is the job title of Abid in 2021?") print(response)</code>
<code>Abid's job title in 2021 is Data Science Consultant.</code>
<code>response = query_engine.chat("What else did he do during that time?") print(response)</code>
言語アプリケーションを構築した後、タイムラインの次のステップは、クラウドで大規模な言語モデル(LLM)を使用することとローカルで実行することの長所と短所について読むことです。これは、ニーズに最適なアプローチを判断するのに役立ちます。
次のプロジェクトでは、ウィキペディアからの質問に回答し、それらを音声に変換できるアプリケーションを開発することが含まれます。
コードソースと追加情報は、Datalabワークブックに記載されています。
最初に、イタリアのウィキペディアのWebページからのデータをクロールし、データフォルダーのItaly_text.txtファイルとして保存します。
<code>pip install llama-index</code>
次に、必要なパッケージをインストールする必要があります。 ElevenLabsパッケージを使用すると、APIを使用してテキストを簡単に音声に変換できます。
<code>import os os.environ["OPENAI_API_KEY"] = "INSERT OPENAI KEY"</code>
SimpleDirectoryReaderを使用して、データをロードし、VectorStoreIndexを使用してTXTファイルをVectorストアに変換します。
<code>pip install openai</code>
私たちの計画は、国について一般的な質問をし、LLM query_engineから回答を得ることです。
<code>%pip install llama-index openai pypdf</code>
の後、llama_index.ttsモジュールを使用して、ElevenLabstts APIにアクセスします。オーディオ生成機能を有効にするには、ElevenLabs APIキーを提供する必要があります。 ElevenLabs WebサイトでAPIキーを無料で入手できます。
<code>from llama_index import TreeIndex, SimpleDirectoryReader resume = SimpleDirectoryReader("Private-Data").load_data() new_index = TreeIndex.from_documents(resume)</code>
Generate_Audio関数に応答を追加して、自然な音声を生成します。オーディオを聴くために、iPython.displayのオーディオ関数を使用します。
<code>query_engine = new_index.as_query_engine() response = query_engine.query("When did Abid graduated?") print(response)</code>
これは簡単な例です。複数のモジュールを使用して、Siriなどのアシスタントを作成できます。これは、プライベートデータを解釈することで質問に答えます。詳細については、llamaindexのドキュメントを参照してください。
llamaindexに加えて、Langchainを使用すると、LLMベースのアプリケーションを構築することもできます。さらに、Langchainを使用してデータエンジニアリングとデータアプリケーションを使用して、Langchainが解決する問題やデータ使用ケースの例を含め、Langchainでできることの概要を学習できます。
llamaindexは、言語ベースのアプリケーションを構築するための完全なツールキットを提供します。最も重要なことは、Llama Hubのさまざまなデータローダーとエージェントツールを使用して、複数の機能を備えた複雑なアプリケーションを開発できることです。
1つ以上のプラグインデータローダーを使用して、カスタムデータソースをLLMに接続できます。
からのデータローダー エージェントツールを使用して、サードパーティツールとAPIを統合することもできます。
Llama hub
agistratorツール 要するに、llamaindex:で構築できます
ドキュメントベースのQ&A
LlamainDexは、大規模な言語モデルとカスタムナレッジベースの利点を組み合わせた検索強化生成システムを構築するための強力なツールキットを提供します。ドメイン固有のデータのインデックスストアを作成し、推論中にそれを利用して、LLMに関連するコンテキストを提供して高品質の応答を生成することができます。
専門家LLM開発者になるために、次のステップは大規模な言語モデルコンセプトマスターコースを受講することです。このコースでは、アプリケーション、トレーニング方法、倫理的考慮事項、最新の研究など、LLMの包括的な理解を提供します。
以上がllamaindex:大規模な言語モデル(LLMS)ベースのアプリケーションのデータフレームワークの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。