Skip to main content
PromptQuorum
ホーム/ローカルLLM活用/LlamaIndex徹底解説:コードファーストRAGフレームワーク(MITライセンス・2026年版)
RAG & Document Chat

LlamaIndex徹底解説:コードファーストRAGフレームワーク(MITライセンス・2026年版)

·12分で読めます·Hans Kuepper 著 · PromptQuorumの創設者、マルチモデルAIディスパッチツール · PromptQuorum

LlamaIndexは、インデックス作成・検索・クエリエンジンを通じて大規模言語モデルを自分のデータに接続する、無料・オープンソース(MITライセンス)のPythonフレームワークです。インポートして使うコードライブラリであり、視覚的なドラッグ&ドロップ・ビルダーではありません。

LlamaIndexはインポートしてコードを書く対象のPythonライブラリであり、ボックスをドラッグするキャンバスではありません。本記事では実際の機能、無料範囲と有料範囲の境界、そして動作するコード例を解説します。

LlamaIndex徹底解説:コードファーストRAGフレームワーク(MITライセンス・2026年版)

重要なポイント

  • MITライセンス — コアのPythonフレームワークは無料、許可的なライセンスで、活発にメンテナンスされている
  • 中核構成要素:Documents/NodesがIndex(多くはVectorStoreIndex)に取り込まれ、Retrieverが関連ノードを取得し、Query Engineが質問に答える
  • 無料でインストール・自己ホスト可能:pip install llama-index、自分のLLMプロバイダーとベクトルストアを使用
  • LlamaCloudは別サービスで、自動ドキュメント解析(LlamaParse)と抽出のための有料・従量課金プラットフォーム — オープンソースフレームワークの利用に必須ではない
  • コードファースト:ビジュアルキャンバスは存在しない — インポートしてコードを書くPythonライブラリである
  • TypeScript SDKのLlamaIndex.TSは2026年4月30日にアーカイブされ、非推奨と表示された — Pythonが現在も活発にメンテナンスされている実装
  • 最適な用途:インデックス作成と検索ロジックをプログラムで制御したい、本番RAGシステムを構築する開発者

📍 一文で説明

LlamaIndexは、インデックス作成・検索・クエリエンジンを通じて大規模言語モデルを自分のデータに接続する、無料・オープンソース(MIT)のPythonフレームワークであり、コードを書く開発者向けであってノーコードのビジュアルビルダーではない。

💬 簡潔に説明

キャンバス上でボックスをドラッグする代わりに、LlamaIndexはPythonのクラス群を提供する。ドキュメントを読み込み、インデックスを構築し、それに問い合わせる — すべての工程がバージョン管理・テスト・カスタマイズ可能なコードになる。

📌Note: Pythonを書く代わりにボックスを接続してRAGパイプラインを作りたい場合、LlamaIndexは適したツールではない。Flowise、Langflow、Difyなどのビジュアルビルダーを検討してほしい。

LlamaIndexとは?

LlamaIndex(github.com/run-llama/llama_index)は、大規模言語モデルを自分のデータに接続するアプリケーションを構築するための、オープンソースかつMITライセンスのPythonフレームワークです。まず第一にデータフレームワークであり、ライブラリはドキュメントの取り込み、検索用の構造化、そしてそれらに関する質問への回答を中心に設計されています — 汎用的なエージェント・オーケストレーションが中心ではありません。

  • データコネクタ:ローカルファイル用のSimpleDirectoryReaderに加え、LlamaHub上でPDF、API、SQLデータベースなどに対応する300以上のコミュニティ製・公式インテグレーション
  • インデックス:LLMによる検索用に取り込んだデータを整理する構造体 — 埋め込みベースのセマンティック検索を行うVectorStoreIndexが最も一般的
  • Retriever:インデックスからクエリに関連するノードを取得する
  • Query Engine:Retrieverとの組み合わせでLLM呼び出しを行い、自分のデータについての質問に答える — Retrieval-Augmented Generation(RAG)の中核ループ
  • Workflow:単一のクエリを超えて、複数ステップのエージェントやパイプラインをオーケストレーションするイベント駆動システム
  • コアのPythonリポジトリは50,000以上のGitHubスターを獲得している

LlamaIndexの中核となる構成要素は何ですか?

LlamaIndexはRAGパイプラインをDocument/Node、Index、Retriever、Query Engine、Workflowという5つの構成要素に整理する。 それぞれが、生データファイルをそれについて質問に答えられるLLMに変える一つの工程に対応する。

Document / Node

役割:
生データ、その後それを分割した構造化断片

Index

役割:
検索用にノードを整理する(例:VectorStoreIndex)

Retriever

役割:
クエリに関連するノードを取得する

Query Engine

役割:
検索とLLM呼び出しを組み合わせて回答する

Workflow

役割:
複数ステップのエージェントをイベント駆動で統括する

LlamaIndexはLangChainやビジュアルビルダーとどう違いますか?

LlamaIndexは第一にデータフレームワークであり、LangChainは汎用のオーケストレーション・フレームワーク、そしてFlowise・Langflow・Difyのようなツールはビジュアルなノーコード・ビルダーである。RAGの領域では重なり合うものの、この3種類はそれぞれ異なる課題を解決している。 どれを選ぶかは何を優先するかの問題であり、どれが「優れている」かではありません。

LlamaIndexは無料ですか、それともLlamaCloudに料金が必要ですか?

LlamaIndexのコアフレームワークは永久に無料で、MITライセンスのもとで自分のLLMとベクトルデータベースを使って自己ホストでき、LlamaIndex側への費用はかかりません。 自動ドキュメント解析・抽出(LlamaParse、LlamaExtract)を行う別ホストサービスのLlamaCloudは、それに加えて従量課金クレジットを請求します:1,000クレジットあたり1.25ドルで、解析は選択した階層に応じて1ページあたり1〜45クレジット、抽出は1ページあたり5〜60クレジットです。

  • オープンソースフレームワーク(pip install llama-index):無料、MITライセンス、自己ホスト — アカウントやクレジットは不要
  • LlamaCloud / LlamaParse:レイアウトが複雑なPDF、スキャン文書、表、図表向けのクレジット従量課金の有料ドキュメント解析
  • オープンソースフレームワークでRAGパイプラインを構築・実行するのにLlamaCloudアカウントは不要 — SimpleDirectoryReaderなど無料のローダーがプレーンテキスト、Markdown、標準的なPDFをカバーする
  • 複数カラムのレイアウト、埋め込まれた表、手書き文字など、無料のパーサーではチャンク品質が悪くなるほど文書が複雑な場合にLlamaCloudが有用になる

LlamaIndexで最小構成のRAGパイプラインを作るには?

動作するLlamaIndexのRAGパイプラインはPythonわずか5行です:ドキュメントを読み込み、インデックスを構築し、クエリエンジンを作成して問い合わせます。 この例ではデフォルトのインメモリ・ベクトルストアとOpenAI互換のLLMを使用します。ローカルプロバイダー(Ollamaなど)を使う場合は、そのインテグレーションパッケージをインストールし、インデックス構築前にSettings.llmを設定してください。

  1. 1
    フレームワークをインストールする:pip install llama-index(ホスト型APIの代わりにローカルモデルを使う場合はllama-index-llms-ollamaのようなプロバイダーパッケージを追加する)。
  2. 2
    LLMプロバイダーの認証情報を設定する — 例:export OPENAI_API_KEY=... — またはSettings.llmをローカルプロバイダーに向けて次のステップの前に設定する。
  3. 3
    ソースファイルをフォルダ(例:data/)に置いて読み込む:documents = SimpleDirectoryReader("data").load_data()。
  4. 4
    読み込んだドキュメントからインデックスを構築する:index = VectorStoreIndex.from_documents(documents)。これは各ドキュメントをNodeに分割して埋め込む。
  5. 5
    インデックスからクエリエンジンを作成する:query_engine = index.as_query_engine()。
  6. 6
    データに問い合わせて回答を表示する:response = query_engine.query("ここに質問を入力"); print(response)。
python
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

# Load documents from a folder
documents = SimpleDirectoryReader("data").load_data()

# Build an index from documents
index = VectorStoreIndex.from_documents(documents)

# Create a query engine
query_engine = index.as_query_engine()

# Query your data
response = query_engine.query("Your question here")
print(response)

このインデックスはスクリプトを実行するたびに再構築されますか?

デフォルトではそうなります。一度きりのスクリプト以上の用途では、インデックス構築後にindex.storage_context.persist()を呼び出し、以降の実行では毎回すべてのドキュメントを再埋め込みする代わりにload_index_from_storage()で読み込んでください。

OpenAIの代わりにローカルLLMとローカルベクトルストアを使えますか?

はい。対応するインテグレーションパッケージ(ローカルモデル用のllama-index-llms-ollama、あるいはllama-index-vector-stores-chromaのようなベクトルストアパッケージなど)をインストールし、Settings.llmとSettings.embed_modelを設定するか、ベクトルストアをVectorStoreIndex.from_documents()に渡してから、同じクエリエンジンのコードを実行してください。

LlamaIndexのTypeScript版はまだメンテナンスされていますか?

いいえ。LlamaIndex.TS(GitHub上のrun-llama/LlamaIndexTS)はメンテナーによってアーカイブされ、2026年4月30日に非推奨と表示されました。リポジトリ自体の告知には、プロジェクトは「is deprecated and no longer maintained」(非推奨であり、もはやメンテナンスされていない)と記載されており、TypeScript SDKではなくLlamaCloud/LlamaParseのドキュメントを参照するよう利用者を誘導しています。

  • Pythonフレームワーク(llama_index)が現在も活発にメンテナンスされている実装であり、本記事はこのバージョンを扱っている
  • LlamaIndex.TS上に構築された既存のTypeScriptプロジェクトは動作し続けるが、今後のアップデート、バグ修正、セキュリティパッチは提供されない
  • 新規のTypeScriptまたはJavaScriptプロジェクトでは、アーカイブされたライブラリで開始する代わりに、活発にメンテナンスされているLangChain.js(MITライセンス)を検討する

LlamaIndexはどんな人向けですか?

LlamaIndexはRAGツールの中で特定の位置を占めています:インデックス作成と検索についてコードレベルの制御を求める開発者向けであり、視覚的なプロトタイプへの最短経路を求める人向けではありません。

LlamaIndexと代替ツールの比較

正しい選択は、コードレベルの制御(LlamaIndex、LangChain、Haystack)とビジュアルキャンバス(Flowiseなど)のどちらを求めるかによって決まります。

ツールインターフェースライセンス最適な用途メンテナンス
LlamaIndexPythonコードMITデータ量の多いカスタムRAGパイプライン活発
LangChainPython/JSコードMIT汎用LLMオーケストレーション活発
HaystackPythonコードApache 2.0エンタープライズ検索+RAGパイプライン活発
Flowiseビジュアル、ドラッグ&ドロップApache 2.0ノーコード試作(非メンテナンス)アーカイブ済み/なし

LlamaIndexを評価する際のよくある誤解

これらの誤解は、LlamaIndexを実際とは異なるカテゴリのツールとして扱うことから生じます。

よくある質問

LlamaIndexは無料で使えますか?

はい。コアのPythonフレームワークはMITライセンスのオープンソースで無料です。ドキュメント解析・抽出のための別ホストサービスであるLlamaCloudは従量課金クレジット(1,000クレジットあたり1.25ドル)を請求しますが、これはオプションであり、RAGパイプラインの構築・実行に必須ではありません。

LlamaIndexはどのライセンスで公開されていますか?

MITライセンスです。Pythonフレームワーク(llama_index)と、メンテナンスされていた間のTypeScript SDK(LlamaIndex.TS)の両方に適用されます。MITは商用利用、改変、再配布を許可します。

LlamaIndexはLangChainとどう違いますか?

LlamaIndexはインデックス作成と検索に特化して構築されたデータフレームワークで、Document、Node、Index、Retriever、Query Engineというモデルを持ちます。LangChainはchain、エージェント、ツール呼び出しをカバーする汎用オーケストレーション・フレームワークで、検索は数ある機能の一つです。両者ともMITライセンス、Pythonファーストで、活発にメンテナンスされています。多くの本番システムでは両方を組み合わせて使用しています。

LlamaIndexはビジュアルなノーコードビルダーですか?

いいえ。LlamaIndexはインポートしてコードを書く対象のPython(かつて一部はTypeScript)ライブラリであり、ドラッグ&ドロップのキャンバスはありません。RAGやエージェントパイプラインへのビジュアルなノーコードアプローチを望むなら、Flowise、Langflow、Difyを検討してください。

LlamaCloudとは何で、それは必要ですか?

LlamaCloudは同じ企業が提供する別の有料従量課金プラットフォームで、複雑な文書向けにLlamaParse(ドキュメント解析)とLlamaExtract(構造化抽出)を提供します。オープンソースのLlamaIndexフレームワークを使うのに必要ではなく、無料のドキュメントローダーが複雑なPDF、スキャンされたページ、密度の高い表でうまく機能しない場合にのみ有用になります。

LlamaIndexのTypeScript版はまだメンテナンスされていますか?

いいえ。LlamaIndex.TSはメンテナーによってアーカイブされ、2026年4月30日に非推奨と表示されました。Pythonフレームワークが現在も活発にメンテナンスされている実装のままです。新規のTypeScript/JavaScriptプロジェクトでは、LangChain.jsを検討してください。

LlamaIndexにおけるQuery Engineとは何ですか?

Query EngineはRetrieverとLLM呼び出しを1つのメソッド呼び出しに組み合わせます。index.as_query_engine().query("あなたの質問")を呼び出すと、インデックスから関連するNodeを取得し、それらを含むプロンプトを構築し、モデルの回答を返します — Retrieval-Augmented Generation(RAG)の中核ループです。

LlamaIndexはいくつのインテグレーションに対応していますか?

LlamaHubは、データローダー(PDF、API、SQLデータベースなど)、LLMプロバイダー、ベクトルストアをカバーする300以上のコミュニティ製・公式インテグレーションパッケージをホストしており、これに加えてローカルファイル用の組み込みSimpleDirectoryReaderがあります。

クラウドAPIの代わりにLlamaIndexでローカルLLMを使えますか?

はい。対応するプロバイダーのインテグレーション(例:Ollama用のllama-index-llms-ollama)をインストールし、インデックスを構築する前にSettings.llmでデフォルトとして設定してください — その後のDocument/Index/Retriever/Query Engineパイプラインは、使用するLLMプロバイダーにかかわらず同じように動作します。

LlamaIndexを使うにはPythonを書く必要がありますか?

はい、現在メンテナンスされているバージョンについてはそうです。LlamaIndexはビジュアルインターフェースのないコードファーストなフレームワークです。ノーコードのアプローチを望む非開発者やチームは、代わりにFlowise、Langflow、Difyなどのビジュアルビルダーを検討してください。

出典

← ローカルLLM活用 に戻る