OSS Agents JP
オープンソース AI エージェント 日本語ガイド
← 一覧へ
LlamaIndex
OTHER

LlamaIndex

LlamaIndex

LLM との連携に最適化されたドキュメント AI エージェントフレームワーク。RAG(検索拡張生成)と複数エージェント対応で、大規模データから効率的に情報を取得・処理し、LLM の応答精度を向上させる。

#RAG#エージェント#Python
EDITOR'S TAKE

編集部メモ

49k Star のドキュメント AI エコシステム、実務的な RAG 実装の現実解

LlamaIndex は RAG(検索拡張生成)とドキュメント処理に最適化したフレームワークです。単なるライブラリではなく、300+ の統合パッケージを持つエコシステムで、OpenAI・Anthropic・Ollama などの LLM、Pinecone・Weaviate などのベクトルデータベースと無障碍に連携します。2022年公開で 49k Star という人気は、企業のドキュメント AI 需要の高さを示唆しています。ただし統合の多さが初心者の選択肢を増やしすぎており、セットアップの学習曲線は避けられません。商用版 LlamaParse(エンタープライズ OCR)との組み合わせで、PDF やスキャン文書の高精度処理も可能です。

USE CASES

こんな場面で使う

  • 企業のナレッジベース・契約書・マニュアルから LLM を使った質問応答システムを構築する
  • 複数データソース(API、DB、ファイル)から情報を取得しエージェントが自動処理・判断する仕組みを実装する
  • PDF やスキャン文書を含むドキュメント処理パイプラインを本番環境で運用する
DIFFERENTIATOR

類似ツールとの違い

LangChain は RAG 汎用ですが LlamaIndex はドキュメント処理に特化。CrewAI はマルチエージェント協調に強いが、LlamaIndex はドキュメント解析・構造化抽出に重点。300+ 統合パッケージと商用 OCR プラットフォームの親和性が、エンタープライズ向けアプリケーション開発で優位です。
CAVEAT

注意点・向かない用途

⚠️ 統合パッケージが過多のため初心者向けセットアップが複雑。コアと統合の選別、学習リソースの分散化が課題。LlamaParse は有料機能で、ドキュメント処理の本格運用時にコスト判断が必要。
BEST FOR

向いている読者

LLM アプリケーション開発者ドキュメント AI 実装者RAG システム構築者エンタープライズ向け AI 導入担当者

— OSS Agents JP 編集部による独自評価(LlamaIndex に関する観察)

REPO STATS

リポジトリ統計

⭐ Stars
-
🍴 Forks
-
⚠️ Open Issues
-
🌿 Language
-
📄 License
-
🕒 最終更新
-
📅 公開日
-
🌿 Branch
-
REFERENCE

公式ドキュメント(README)

本ハブの独自評価は上記「編集部メモ」が一次情報です。以下は GitHub README の参考転載(折りたたみ)。

📖 GitHub README の日本語訳を読む(AI 自動翻訳 / 参考情報)

— AI による自動翻訳 (2026.05.12 更新)。正確な情報は GitHub の原文 をご確認ください。

🗂️ LlamaIndex 🦙

PyPI - Downloads Build GitHub contributors Discord Twitter Reddit Ask AI

LlamaIndex OSS (by LlamaIndex) は、エージェント型アプリケーションを構築するためのオープンソースフレームワークです。Parse は、エージェント型 OCR、パース、抽出、インデックス化などを行うためのエンタープライズプラットフォームです。このフレームワークと共に LlamaParse を使用することも、単独で使用することもできます。サインアップと製品リンクについては、下の LlamaParse をご覧ください。

📚 ドキュメント:

LlamaIndex での開発には、通常 LlamaIndex コアと選択した統合パッケージ(またはプラグイン)を使用します。Python で LlamaIndex を使い始める方法は 2 つあります。

  1. Starter: llama-index。コア LlamaIndex および統合パッケージの選りすぐりを含むスターター Python パッケージです。

  2. Customized: llama-index-core。コア LlamaIndex をインストールし、アプリケーションに必要な LlamaIndex 統合パッケージを LlamaHub から追加します。コアと組み合わせて自由に動作する 300 以上の LlamaIndex 統合パッケージがあり、好みの LLM、エンベディング、ベクトルストアプロバイダーで構築できます。

LlamaIndex Python ライブラリは名前空間化されており、core を含むインポートステートメントはコアパッケージが使用されていることを示します。一方、core を含まないステートメントは統合パッケージが使用されていることを示します。

# typical pattern
from llama_index.core.xxx import ClassABC  # core submodule xxx
from llama_index.xxx.yyy import (
    SubclassABC,
)  # integration yyy for submodule xxx

# concrete example
from llama_index.core.llms import LLM
from llama_index.llms.openai import OpenAI

LlamaParse(ドキュメントエージェントプラットフォーム)

LlamaParse は独立したプラットフォームで、ドキュメントエージェントとエージェント型 OCR に特化しています。Parse(パース)、LlamaAgents(デプロイされたドキュメントエージェント)、Extract(構造化抽出)、Index(取り込みと RAG)を含みます。LlamaIndex フレームワークと共に使用することも、単独で使用することもできます。

  • LlamaParse にサインアップ — アカウントを作成して API キーを取得します。
  • Parse — エージェント型 OCR およびドキュメントパース(130+ フォーマット)。Docs
  • Extract — ドキュメントからの構造化データ抽出。Docs
  • Index — 取り込み、インデックス化、RAG パイプライン。Docs
  • Split — 大規模なドキュメントをサブカテゴリに分割します。Docs
  • AgentsWorkflows と Agent Builder を使用してエンドツーエンドのドキュメントエージェントを構築します。Docs

重要なリンク

ドキュメント

X(旧 Twitter)

LinkedIn

Reddit

Discord

🚀 概要

注記: この README はドキュメントほど頻繁には更新されません。最新の更新情報については、上記のドキュメントをご確認ください!

背景

  • LLM は知識生成と推論のための優れたテクノロジーです。公開されている大量のデータで事前学習されています。
  • 自社のプライベートデータで LLM を最適に拡張するにはどうすればよいでしょうか?

このデータ拡張を実現するための包括的なツールキットが必要です。

提案ソリューション

ここで LlamaIndex が登場します。LlamaIndex は「データフレームワーク」で、LLM アプリの構築を支援します。以下のツールを提供します。

  • 既存のデータソースとデータ形式(API、PDF、ドキュメント、SQL など)を取り込むためのデータコネクタを提供します。
  • このデータを LLM で簡単に使用できるよう、データを構造化する(インデックス、グラフ)方法を提供します。
  • データに対する高度な検索/クエリインターフェースを提供します:任意の LLM 入力プロンプトを入力すると、検索されたコンテキストと知識拡張された出力を取得できます。
  • 外側のアプリケーションフレームワーク(例:LangChain、Flask、Docker、ChatGPT など)との簡単な統合を可能にします。

LlamaIndex は初心者ユーザーと上級ユーザーの両方のためのツールを提供します。高レベル API により、初心者ユーザーは 5 行のコードで LlamaIndex を使用してデータを取り込んでクエリできます。低レベル API により、上級ユーザーはニーズに合わせてモジュール(データコネクタ、インデックス、検索器、クエリエンジン、リランキングモジュール)をカスタマイズして拡張できます。

💡 貢献

貢献に興味がありますか?LlamaIndex コアへの貢献、およびコアに基づいて構築される統合の貢献の両方を受け付けており、強く推奨しています!詳細は貢献ガイドをご覧ください。

新しい統合は、既存の LlamaIndex フレームワークコンポーネントと意味のある統合をする必要があります。LlamaIndex メンテナーの裁量により、一部の統合は拒否される場合があります。

📄 ドキュメント

完全なドキュメントはこちらにあります。

最新のチュートリアル、ハウツーガイド、リファレンス、その他のリソースについてはご確認ください!

💻 使用例

# custom selection of integrations to work with core
pip install llama-index-core
pip install llama-index-llms-openai
pip install llama-index-llms-ollama
pip install llama-index-embeddings-huggingface

サンプルは docs/examples フォルダーに、インデックスは indices フォルダーにあります(下記のインデックス一覧を参照)。

OpenAI を使用して簡単なベクトルストアインデックスを構築するには、以下を実行します。

import os

os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

documents = SimpleDirectoryReader("YOUR_DATA_DIRECTORY").load_data()
index = VectorStoreIndex.from_documents(documents)

非 OpenAI LLM(例:Ollama でホストされる LLM)を使用してベクトルストアインデックスを構築するには、以下を実行します。

from llama_index.core import Settings, VectorStoreIndex, SimpleDirectoryReader
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.llms.ollama import Ollama
from transformers import AutoTokenizer

# set the LLM
Settings.llm = Ollama(
    model="llama-3.1:latest",
    request_timeout=360.0,
)

# set tokenizer to match LLM
Settings.tokenizer = AutoTokenizer.from_pretrained(
    "meta-llama/Llama-3.1-8B-Instruct"
)

# set the embed model
Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-small-en-v1.5"
)

documents = SimpleDirectoryReader("YOUR_DATA_DIRECTORY").load_data()
index = VectorStoreIndex.from_documents(
    documents,
)

クエリを実行するには:

query_engine = index.as_query_engine()
query_engine.query("YOUR_QUESTION")

デフォルトでは、データはメモリー内に保存されます。ディスクに永続化するには(./storage の下):

index.storage_context.persist()

ディスクから再読み込みするには:

from llama_index.core import StorageContext, load_index_from_storage

# rebuild storage context
storage_context = StorageContext.from_defaults(persist_dir="./storage")
# load index
index = load_index_from_storage(storage_context)

ビルド成果物の検証に関する注記

デフォルトでは、llama-index-core にはパッケージのインストールに含まれる nltk と tiktoken のキャッシュを含む _static フォルダーが含まれています。これにより、実行時にディスクアクセスが制限された環境で llama-index を簡単に実行できるようになります。

これらのファイルが安全で有効であることを確認するために、GitHub の attest-build-provenance アクションを使用しています。このアクションは、_static フォルダー内のファイルが llama-index-core/llama_index/core/_static フォルダー内のファイルと同じであることを確認します。

これを確認するには、以下のスクリプトを実行できます(インストール済みパッケージを指す):

#!/bin/bash
STATIC_DIR="venv/lib/python3.13/site-packages/llama_index/core/_static"
REPO="run-llama/llama_index"

find "$STATIC_DIR" -type f | while read -r file; do
    echo "Verifying: $file"
    gh attestation verify "$file" -R "$REPO" || echo "Failed to verify: $file"
done
RELATED

同じカテゴリの他のツール