AI Agent Hub
AI エージェント / プラグイン情報メディア
← 一覧へ
LlamaIndex
OTHER

LlamaIndex

LlamaIndex

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

原文: LlamaIndex is the leading document agent and OCR platform
#RAG#エージェント#Python#agents#application#data#fine-tuning#framework#llamaindex#llm#multi-agents#rag
REPO STATS

リポジトリ統計

⭐ Stars
49.3k
🍴 Forks
7.4k
⚠️ Open Issues
336
🌿 Language
Python
📄 License
MIT
🕒 最終更新
2026.05.12 (今日)
📅 公開日
2022.11.02
🌿 Branch
main
README

ドキュメント

— AI による自動翻訳 (2026.05.12 更新)

🗂️ 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

— GitHub から取得した原文(一部省略の場合あり)

🗂️ LlamaIndex 🦙

PyPI - Downloads Build GitHub contributors Discord Twitter Reddit Ask AI

LlamaIndex OSS (by LlamaIndex) is an open-source framework to build agentic applications. Parse is our enterprise platform for agentic OCR, parsing, extraction, indexing and more. You can use LlamaParse with this framework or on its own; see LlamaParse below for signup and product links.

📚 Documentation:

Building with LlamaIndex typically involves working with LlamaIndex core and a chosen set of integrations (or plugins). There are two ways to start building with LlamaIndex in Python:

  1. Starter: llama-index. A starter Python package that includes core LlamaIndex as well as a selection of integrations.

  2. Customized: llama-index-core. Install core LlamaIndex and add your chosen LlamaIndex integration packages on LlamaHub that are required for your application. There are over 300 LlamaIndex integration packages that work seamlessly with core, allowing you to build with your preferred LLM, embedding, and vector store providers.

The LlamaIndex Python library is namespaced such that import statements which include core imply that the core package is being used. In contrast, those statements without core imply that an integration package is being used.

# 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 (document agent platform)

LlamaParse is its own platform—focused on document agents and agentic OCR. It includes Parse (parsing), LlamaAgents (deployed document agents), Extract (structured extraction), and Index (ingest and RAG). You can use it with the LlamaIndex framework or standalone.

  • Sign up for LlamaParse — Create an account and get your API key.
  • Parse — Agentic OCR and document parsing (130+ formats). Docs
  • Extract — Structured data extraction from documents. Docs
  • Index — Ingest, index, and RAG pipelines. Docs
  • Split — Split large documents into subcategories. Docs
  • Agents — Build end-to-end document agents with Workflows and Agent Builder. Docs

Important Links

Documentation

X (formerly Twitter)

LinkedIn

Reddit

Discord

🚀 Overview

NOTE: This README is not updated as frequently as the documentation. Please check out the documentation above for the latest updates!

Context

  • LLMs are a phenomenal piece of technology for knowledge generation and reasoning. They are pre-trained on large amounts of publicly available data.
  • How do we best augment LLMs with our own private data?

We need a comprehensive toolkit to help perform this data augmentation for LLMs.

Proposed Solution

That's where LlamaIndex comes in. LlamaIndex is a "data framework" to help you build LLM apps. It provides the following tools:

  • Offers data connectors to ingest your existing data sources and data formats (APIs, PDFs, docs, SQL, etc.).
  • Provides ways to structure your data (indices, graphs) so that this data can be easily used with LLMs.
  • Provides an advanced retrieval/query interface over your data: Feed in any LLM input prompt, get back retrieved context and knowledge-augmented output.
  • Allows easy integrations with your outer application framework (e.g. with LangChain, Flask, Docker, ChatGPT, or anything else).

LlamaIndex provides tools for both beginner users and advanced users. Our high-level API allows beginner users to use LlamaIndex to ingest and query their data in 5 lines of code. Our lower-level APIs allow advanced users to customize and extend any module (data connectors, indices, retrievers, query engines, reranking modules), to fit their needs.

💡 Contributing

Interested in contributing? Contributions to LlamaIndex core as well as contributing integrations that build on the core are both accepted and highly encouraged! See our Contribution Guide for more details.

New integrations should meaningfully integrate with existing LlamaIndex framework components. At the discretion of LlamaIndex maintainers, some integrations may be declined.

📄 Documentation

Full documentation can be found here

Please check it out for the most up-to-date tutorials, how-to guides, references, and other resources!

💻 Example Usage

# 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

Examples are in the docs/examples folder. Indices are in the indices folder (see list of indices below).

To build a simple vector store index using 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)

To build a simple vector store index using non-OpenAI LLMs, e.g. LLMs hosted through Ollama:

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,
)

To query:

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

By default, data is stored in-memory. To persist to disk (under ./storage):

index.storage_context.persist()

To reload from disk:

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)

A note on Verification of Build Assets

By default, llama-index-core includes a _static folder that contains the nltk and tiktoken cache that is included with the package installation. This ensures that you can easily run llama-index in environments with restrictive disk access permissions at runtime.

To verify that these files are safe and valid, we use the github attest-build-provenance action. This action will verify that the files in the _static folder are the same as the files in the llama-index-core/llama_index/core/_static folder.

To verify this, you can run the following script (pointing to your installed package):

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

find "$STATIC_DIR
RELATED

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