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

LlamaIndex

LlamaIndex

ドキュメント処理とRAG(検索拡張生成)に特化したPythonフレームワーク。複数のLLMプロバイダをサポートしており、エージェント、OCR、マルチエージェント処理などを実装できます。

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

編集部メモ

ドキュメント処理と Agent 構築の統合フレームワーク

LlamaIndex は複雑なドキュメント処理に特化した Python フレームワークです。従来の RAG フレームワークから進化し、agentic OCR やドキュメント Agent の構築に対応。300+ の統合パッケージにより LLM プロバイダの選択肢が豊富で、カスタマイズ性が高いのが特徴。Python エンジニアがドキュメント処理パイプラインを自動化する場合に最適ですが、エンタープライズ機能の Parse には追加コストが必要です。

USE CASES

こんな場面で使う

  • 複数形式(PDF・画像・テーブル)のドキュメントを一括処理し、構造化データとして抽出する
  • ドキュメントベースの RAG アプリケーションを構築し、複数の LLM プロバイダと連携させる
  • 大規模組織のドキュメント処理パイプラインを自動化し OCR と構造化抽出を統合する
DIFFERENTIATOR

類似ツールとの違い

LangChain は汎用フレームワークですが、LlamaIndex はドキュメント処理に特化。300+ の統合パッケージで LLM・エンベディング・ベクトルストアを柔軟に選択でき、ドキュメント Agent 構築では LlamaIndex が優位性を持ちます。
CAVEAT

注意点・向かない用途

⚠️ 統合パッケージの選択肢が多く、セットアップが複雑になる可能性があります。シンプルなテキスト処理アプリケーションに対しては過剰スペックになります。
BEST FOR

向いている読者

Python エンジニアデータ科学者・ML 研究者企業の DX 推進担当者

— 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

``` [Hinge → patch]

LlamaIndex OSS (by LlamaIndex) はエージェントアプリケーション構築用のオープンソースフレームワークです。Parse は、エージェント型 OCR、解析、抽出、インデックス作成などのためのエンタープライズプラットフォームです。このフレームワークと一緒に LlamaParse を使用することも、単独で使用することもできます。登録とプロダクトリンクについては、下の LlamaParse を参照してください。

📚 ドキュメント:

LlamaIndex で構築する場合、通常は LlamaIndex コアと選択した統合(またはプラグイン)のセットを操作します。LlamaIndex で Python での構築を開始する方法は 2 つあります:

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

  2. カスタマイズllama-index-core。コア LlamaIndex をインストールし、アプリケーションに必要な LlamaHub の LlamaIndex 統合パッケージを追加してください。コアとシームレスに連携する 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+ 形式)。ドキュメント
  • Extract — ドキュメントからの構造化データ抽出。ドキュメント
  • Index — 取り込み、インデックス作成、RAG パイプライン。ドキュメント
  • Split — 大きなドキュメントをサブカテゴリに分割。ドキュメント
  • AgentsWorkflows と Agent Builder でエンドツーエンドのドキュメントエージェントを構築。ドキュメント

重要なリンク

ドキュメント

X (旧 Twitter)

LinkedIn

Reddit

Discord

🚀 Overview

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

背景

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

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

提案ソリューション

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

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

LlamaIndexは初心者ユーザーと上級ユーザーの両方にツールを提供します。高レベルAPIにより、初心者ユーザーは5行のコードでLlamaIndexを使用してデータを取り込み、クエリできます。低レベルAPIにより、上級ユーザーは任意のモジュール(data connectors、indices、retrievers、query engines、reranking modules)をカスタマイズおよび拡張して、ニーズに合わせることができます。

💡 貢献

貢献に興味がありますか?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_static フォルダを含み、これはパッケージのインストールに含まれる nltk および tiktoken キャッシュを含みます。これにより、実行時に制限的なディスクアクセス権限を持つ環境で 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

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