LlamaIndex(ラマインデックス)
データ接続とRAGに特化したLLMフレームワーク。多様なデータソースを取り込み(Ingest)、インデックス化し、クエリエンジンで検索・回答する。RAGや知識集約型エージェント構築に強みを持つ。
概要
LlamaIndex(旧GPT Index)は、データ接続とRAGに特化したLLMフレームワークです。多様なデータソース(PDF・Notion・SQL・API等)をData Connector(LlamaHub)で取り込み(Ingest)、VectorStoreIndexなどでインデックス化し、Query Engine / Retrieverで高度な検索・回答を実現します。LangChainが汎用的なLLMアプリ全般をカバーするのに対し、LlamaIndexはデータの取り込み・索引化・検索というRAGの中核に最適化されており、エージェント機能も備えます。大量文書を扱う知識集約型のLLMアプリ構築で強みを発揮します。
主な特徴・仕組み
- Data Connector(LlamaHub): 数百のデータソースを取り込み
- 多様なIndex: Vector/Summary/Tree/KnowledgeGraphなど
- Query Engine: ルーティング・サブクエリ・再ランクで高度検索
- Node/Document抽象: チャンクをNodeとして管理
- エージェント: ツール・データを使う自律エージェント
- 評価機能: 検索・回答の品質評価をサポート
スペック比較表
| 項目 | LlamaIndex | LangChain | LangGraph |
|---|---|---|---|
| 主眼 | データ/RAG | 汎用LLMアプリ | グラフ制御 |
| インデックス | 多様で強力 | Retriever中心 | なし |
| クエリ最適化 | 高度 | 標準 | 制御層 |
| エージェント | 対応 | 充実 | 状態機械 |
具体例・対応製品
社内ナレッジベース、技術文書検索、論文Q&Aなど、大量の独自データを検索・回答する用途に最適です。VectorStoreIndexで基本的なRAGを構築し、SubQuestionQueryEngineで複雑な質問を分解、再ランクで精度を高める、といった高度なRAGを段階的に実装できます。Pinecone・Chroma等のベクトルDBと統合します。
選び方・注意点
RAG・データ中心に最適化されているため、汎用的なエージェントやツール連携全般はLangChainの方が選択肢が広い場合があります。インデックス種別やクエリエンジンの選択が検索品質を左右するため、データ特性に応じた設計が必要です。LangChainと併用し、データ層をLlamaIndex、制御をLangGraphで担う構成も一般的です。
関連用語との違い
LangChainが汎用LLMアプリ全般を扱うのに対し、LlamaIndexはデータ取り込み・インデックス・検索(RAG)に特化します。LangGraphが処理の制御フロー(状態機械)を担うのに対し、LlamaIndexはデータ・検索層を担当し、両者を組み合わせて高度なRAGエージェントを構築できます。
よくある質問(FAQ)
Q1: LangChainとどちらを使うべき? A: データ取り込み・索引・RAGの高度な検索はLlamaIndex、汎用LLMアプリやツール連携全般はLangChainが得意です。併用も一般的です。
Q2: どんなデータを取り込めますか? A: LlamaHubのData Connectorで、PDF・Notion・Slack・SQL・各種APIなど数百のソースを取り込めます。
Q3: 複雑な質問に対応できますか? A: SubQuestionQueryEngineで質問を分解したり、再ランクやルーティングで精度を高めるなど高度なRAGを構築できます。
まとめ
- データ接続とRAGに特化したLLMフレームワーク
- LlamaHub・多様なIndex・高度なQuery Engineが強み
- 知識集約型アプリに最適、汎用はLangChainと併用