blog

LlamaIndex とは?RAG構築の使い方【2026年版】

監修

河合 継(クリスタルメソッド株式会社 代表取締役)

AI・ディープラーニングに関する特許16件の発明者。国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について編集方針

LlamaIndexとは何か――RAGシステム構築に特化したフレームワーク

LlamaIndexは、LLM(大規模言語モデル)と外部データを接続するためのデータフレームワークです。「ChatGPTに自社ドキュメントを読ませたい」「社内ナレッジベースをAIで検索したい」という要件を実装するとき、LangChainと並んで最初に名前が挙がるライブラリがLlamaIndexです。弊社でも複数のLLMを実運用で検証するなかで、特にRAG(Retrieval-Augmented Generation)パイプラインの組み立てやすさにおいてLlamaIndexが際立つ場面を繰り返し経験してきました。

本記事では、LlamaIndexのアーキテクチャ・主要コンポーネント・実装手順・LangChainとの使い分けまでを体系的に解説します。なお、Llamaシリーズ全体の概要はLlamaとはで、環境構築の手順はLlama導入ガイドでそれぞれ詳しく扱っているため、本記事はLlamaIndexの機能と活用法に集中して掘り下げます。

LlamaIndexが解決する課題

LLMは学習データのカットオフ以降の情報を持たず、社内文書・契約書・マニュアルといったプライベートデータも当然知りません。この問題を解決する代表的アプローチがRAGです。RAGは「検索して取得した文書をコンテキストとしてLLMに渡し、回答を生成させる」仕組みですが、素朴に実装しようとすると次のような課題に直面します。

  • PDFや社内Wikiなど多様なフォーマットのデータを均一に扱うデータ読み込み処理
  • 長文ドキュメントをどうチャンク(分割)するかの設計
  • 埋め込みベクトルの生成・保存・検索(インデックス管理
  • 検索結果をLLMへ渡すプロンプト構築とコンテキスト管理
  • 複数ステップの推論が必要なエージェント処理

LlamaIndexはこれらをパイプラインとして抽象化し、ボイラープレートコードを最小化します。数十行で動くRAGを作れる反面、内部の各コンポーネントは差し替え可能な設計になっており、本番運用レベルにも対応できます。

LlamaIndexの全体アーキテクチャ

LlamaIndexのデータフローは大きく「インジェスト(取り込み)」と「クエリ(問い合わせ)」の2フェーズに分かれます。

データソース
PDF / Web / DB
Notion / Slack等
Data Connectors
LlamaHub経由で
160+コネクタ
Documents /
Nodes

チャンク分割
メタデータ付与
Index
Vector / Summary
/ Knowledge Graph

ユーザーの質問
Retriever
類似ノードを
トップkで取得
Response
Synthesizer

コンテキスト整形
+LLM呼び出し
回答

上段がインジェストフェーズ、下段がクエリフェーズです。それぞれのコンポーネントを個別に差し替えられる構造が、LlamaIndexの大きな強みです。

主要コンポーネントの詳細

Data Connectors(データコネクタ)とLlamaHub

LlamaIndexはデータソースへの接続をLoader(読み込み器)として抽象化しています。公式のプラグインレジストリ「LlamaHub」には160種類以上のLoaderが登録されており、PDF・CSV・PowerPoint・Google Docs・Notion・Confluence・GitHub・S3など主要なデータソースをほぼカバーしています。

弊社では社内ドキュメントをPDFとNotionで管理しているケースが多く、PyMuPDFReaderNotionPageReaderを組み合わせてインジェストパイプラインを構築した実績があります。Loaderのインターフェースが統一されているため、ソースが増えても下流のインデックス処理は変更不要でした。

Documents・Nodes・メタデータ

Loaderが返す最小単位がDocumentオブジェクトです。Documentはテキストとメタデータのペアであり、これをNode Parserでより小さなNode(チャンク)に分割します。チャンク分割の戦略は検索精度に直結するため、LlamaIndexは複数の戦略を用意しています。

Node Parser 分割の特徴 向いているデータ
SentenceSplitter 文境界でチャンクを区切り、オーバーラップを設定可 一般文書・マニュアル
SemanticSplitterNodeParser 埋め込みの意味的類似度でチャンクを動的に決定 長文・論文・契約書
HierarchicalNodeParser 親子関係を持つ階層ノードを生成 構造化文書・技術仕様書
MarkdownNodeParser Markdownの見出し構造を利用して分割 Notion・GitHub Wiki等
CodeSplitter ASTベースで関数・クラス単位に分割 ソースコードリポジトリ

弊社の実験では、同じPDFドキュメントに対してSemanticSplitterNodeParserを使った場合、固定長チャンクに比べて回答の根拠となるノードの的中率が約15〜20%向上した事例があります。ただしセマンティック分割は埋め込みAPIの呼び出し回数が増えるためコストに注意が必要です。

インデックスの種類

Nodeが生成されたらインデックスに格納します。LlamaIndexが提供する主要インデックスは以下のとおりです。

インデックス種別 検索方式 主なユースケース
VectorStoreIndex 埋め込みベクトルのコサイン類似度 汎用RAG・FAQ検索
SummaryIndex 全ノードを順次LLMに渡して要約 文書全体の要約・長文Q&A
KeywordTableIndex キーワードマッチ(BM25相当) 固有名詞・製品コードの検索
KnowledgeGraphIndex エンティティ関係グラフのトラバーサル 複雑な関係性の推論・企業分析
PropertyGraphIndex Neo4j等グラフDBとの統合 大規模グラフ推論

実務ではVectorStoreIndexが最初の選択肢になります。バックエンドのベクトルDBにはChroma・Pinecone・Qdrant・pgvector(PostgreSQL)・Weaviateなど主要サービスがすべてサポートされており、インターフェースは共通です。スケールアップ時もインデックスのバックエンドを差し替えるだけでアプリコードへの影響を最小化できます。

Retrieverとクエリエンジン

Retrieverはクエリに対してインデックスから関連Nodeを取得するコンポーネントです。デフォルトは埋め込みベクトルの上位k件取得ですが、以下の高度な戦略も組み込めます。

  • HyDE(Hypothetical Document Embeddings):クエリに対して仮想的な回答文書を生成し、その埋め込みで検索する。曖昧なクエリに有効
  • MMR(Maximal Marginal Relevance):関連性だけでなく多様性も考慮して冗長な検索結果を排除
  • AutoRetriever:クエリを解釈してフィルタ条件を自動生成し、メタデータ絞り込みと組み合わせる
  • RecursiveRetriever:HierarchicalNodeのサマリノードで大まかに絞り込んだ後、詳細ノードを取得する二段構えの検索

弊社が製品カタログのRAGを構築した際、AutoRetrieverに製品カテゴリ・価格帯などのメタデータフィルタを組み合わせた結果、純粋なセマンティック検索だけの構成に比べて不要な回答(ハルシネーション含む)が大幅に減少しました。

Response Synthesizerと出力モード

取得したNodeをLLMに渡して最終回答を生成するのがResponse Synthesizerです。代表的なモードを整理します。

モード 処理内容 特徴
compact(デフォルト) ノードを1つのプロンプトに詰め込んで一括生成 高速・低コスト
refine ノードを順次処理し回答を逐次改良 情報量が多い場合に精度向上
tree_summarize ノード群を木構造で段階的に要約 大量ノード・長文要約タスク向き
no_text ノード取得のみでLLM未使用 検索エンジン的な使い方

Agentとツール連携

LlamaIndexはRAGに留まらず、Agentフレームワークとしても機能します。ReActAgentFunctionCallingAgentを使えば、LLMがツールを自律的に選択・呼び出しながら複数ステップの推論をこなすエージェントを構築できます。

ツールとして登録できるものの例は以下のとおりです。

  • QueryEngineTool:作成済みのQueryEngineをそのままツール化
  • FunctionTool:任意のPython関数をツール化(外部API呼び出し・DB更新等)
  • ToolSpec:Jira・Gmail・Slack等、LlamaHubに登録されたサービス連携
  • OpenAIToolSpec:OpenAI Function Calling形式との互換インターフェース

弊社のバーチャルヒューマン事業では、ユーザーの問い合わせ内容に応じてFAQデータベース検索と社内チケットシステム参照を動的に使い分けるエージェントをLlamaIndexで構築しました。LangChainでも同等の構成は可能ですが、QueryEngineをそのままツールに変換できる点がLlamaIndexの方が直感的でした。

ベーシックなRAGの実装例

概念を掴んだところで、最小構成のRAGを実装するコードフローを確認します。

# インストール
pip install llama-index llama-index-llms-openai llama-index-embeddings-openai

# 基本的なRAGパイプライン
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.core import Settings
from llama_index.llms.openai import OpenAI
from llama_index.embeddings.openai import OpenAIEmbedding

# LLMと埋め込みモデルを設定(グローバル設定)
Settings.llm = OpenAI(model=“gpt-4o”, temperature=0)
Settings.embed_model = OpenAIEmbedding(model=“text-embedding-3-small”)

# ドキュメント読み込み → インデックス作成
documents = SimpleDirectoryReader(“./data”).load_data()
index = VectorStoreIndex.from_documents(documents)

# クエリエンジン生成 → 質問
query_engine = index.as_query_engine(similarity_top_k=3)
response = query_engine.query(“製品の保証期間は何年ですか?”)
print(response)

わずか10行程度でRAGが動作します。Settingsオブジェクトに設定したLLM・埋め込みモデルは全コンポーネントに伝播するため、切り替えもここを変えるだけです。LLMにMeta の Llama 4 シリーズ(Scout・Maverick)や Llama 3.3 などのオープンウェイトモデルをローカルで動かす場合の環境構築はLlama導入ガイドを参照してください。これらのモデルは重みを無料ダウンロードして自前GPUで実行できるため、APIコストをゼロにできる点が大きなメリットです。

RAGパイプラインの概念図:ドキュメントからインデックスへ、そして回答へのデータフロー
RAGパイプラインの概念図:ドキュメントからインデックスへ、そして回答へのデータフロー

LlamaIndexとLangChainの比較・使い分け

LlamaIndexとLangChainは競合ではなく、用途で使い分ける(または組み合わせる)のが現実的です。

観点 LlamaIndex LangChain
設計思想 データインジェスト+RAGに特化 LLMアプリ全般のオーケストレーション
RAGの組みやすさ ◎ 少ないコードで高度な構成が可能 ○ 柔軟だがボイラープレートが多め
データコネクタ LlamaHubで160+種類 Document Loaderで多数
エージェント ○ RAGベースのエージェントが得意 ◎ LangGraph含め複雑なワークフローに強い
チャンク戦略 ◎ セマンティック・階層型など豊富 ○ 主にサイズ・区切り文字ベース
学習コスト 低〜中(RAGに集中した概念) 中〜高(広い概念・頻繁なAPI変更)
組み合わせ LlamaIndexでインデックスを構築し、LangChain側からQueryEngineを呼び出す統合も公式サポート

弊社の経験上、「ドキュメントベースのQ&Aや社内検索を作りたい」という要件ではLlamaIndexを起点にする方が開発速度が速いです。一方、複数サービスを連鎖させる複雑なワークフローや人間の介入(Human-in-the-loop)を伴うフローはLangChainのLangGraphが有利です。

本番運用で押さえておくべきポイント

インデックスの永続化と差分更新

毎回ゼロからインジェストするのは非現実的です。LlamaIndexのStorageContextを使えばインデックスをローカルディスクやS3に永続化でき、RefreshSettingsで変更ファイルのみ差分更新する運用も可能です。ドキュメントのハッシュを管理するため、未変更ファイルの再埋め込みコストは発生しません。

評価(Evaluation)

LlamaIndexはllama-index-evaluationパッケージで評価モジュールを提供しています。FaithfulnessEvaluator(回答がコンテキストに忠実か)・RelevancyEvaluator(コンテキストと質問の関連性)・CorrectnessEvaluator(正解との一致度)などを活用すると、RAGの品質をシステマティックに計測できます。弊社では新しいチャンク戦略やRetriever設定を変更するたびにこれらの評価を回してA/Bテストを行っています。

コストとレイテンシの管理

LLMの呼び出し回数はCallbackManagerでトレースできます。Arize Phoenix・LangFuse・LlamaTraceなど観測ツールとのインテグレーションも公式サポートされており、どのステップで何トークン消費したかを可視化できます。Llama 4 Scout・Maverick や Llama 3.3 といったオープンウェイトモデルをローカルや自前クラウドGPUで動かすことでAPIコストをゼロにする選択肢については、Llama料金プランの解説Llamaモデル比較で詳しく扱っています。

マルチモーダル対応

LlamaIndexはテキストだけでなく画像や音声を含むマルチモーダルデータへの対応も進んでいます。MultiModalVectorStoreIndexを使えば、PDFに埋め込まれた図表やスキャン文書の画像部分もインデックス対象にできます。GPT-4oや、ネイティブマルチモーダルを実装したLlama 4 Maverick・Llama 4 Scoutのビジョン機能と組み合わせることで、図面・医療画像・製品写真を含む文書のRAGが実現します。特にLlama 4系はオープンウェイトで画像+テキストを処理できる点が、クローズドAPIへの依存を下げたい用途で注目されています。

セマンティック検索のイメージ:ドキュメントのノードがベクトルインデックスに集約される抽象図
セマンティック検索のイメージ:ドキュメントのノードがベクトルインデックスに集約される抽象図

LlamaIndexのバージョンとエコシステムの現状

2024年にリリースされたLlamaIndex 0.10(llama-index-core)から、パッケージがコアとインテグレーション群に分割されました。以前はllama-index一式をインストールしていましたが、現在は必要なLLMプロバイダや埋め込みモデルごとにパッケージを追加インストールする設計です。これにより依存関係が軽量化され、本番環境への導入がしやすくなりました。

また、LlamaCloudというマネージドサービスも提供されており、インジェストパイプラインとインデックスのホスティングをSaaS形式で利用できます。コード不要でデータソースを接続するGUI、本番運用向けの差分同期機能などが含まれます。オープンソースのセルフホストと有償マネージドの両方から選べる点は、チームの運用負荷に応じて柔軟に対応できます。

まとめ

LlamaIndexは、外部データとLLMをつなぐRAGシステムを最短距離で構築するためのデータフレームワークです。Data Connectors・Node Parser・インデックス・Retriever・Response Synthesizerという5つのコンポーネントが疎結合に設計されており、最小構成のプロトタイプから本番スケールのシステムまで段階的に育てられます。

  • データの取り込みと検索精度を重視するRAGにはLlamaIndexが有力な選択肢
  • チャンク戦略・Retriever戦略の選択が回答品質に直結するため、評価ループを早期に組み込む
  • Llama 4 Scout・Maverick や Llama 3.3 などのオープンウェイトモデルとの組み合わせで、APIコストを大幅削減できる
  • LangChainとは競合ではなく、QueryEngineをツールとして渡す統合利用も現実的

Llamaモデル自体の仕組みや特徴についてはLlamaとはを、モデル選定のコストパフォーマンス比較はLlamaモデル比較をあわせてご参照ください。LlamaIndexを活用したRAGシステムの導入・カスタマイズについてご相談があれば、弊社クリスタルメソッドまでお気軽にお問い合わせください。

関連記事

参考文献

    AIブログ購読

     
    クリスタルメソッドがお届けする
    AIブログの更新通知を受け取る

    Study about AI

    AIについて学ぶ

    • AI全般のイメージ

      AI社長の費用・料金相場|構築と運用のコスト【2026年版】

      監修 河合 継(クリスタルメソッド株式会社 代表取締役) マルチモーダルAI・感情推定・バーチャルヒューマンに関する複数の特許を発明したAI研究者。AIの研究開...

    • アバター・デジタルヒューマンのイメージ

      AI社長の作り方|AIアバター経営者を構築する手順【2026年版】

      監修 河合 継(クリスタルメソッド株式会社 代表取締役) マルチモーダルAI・感情推定・バーチャルヒューマンに関する複数の特許を発明したAI研究者。AIの研究開...

    • AI全般のイメージ

      AI社長の事例|導入企業の活用パターンを解説【2026年版】

      監修 河合 継(クリスタルメソッド株式会社 代表取締役) マルチモーダルAI・感情推定・バーチャルヒューマンに関する複数の特許を発明したAI研究者。AIの研究開...

    View more