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

LlamaIndex

LlamaIndex

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

原文: 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

``` [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

— 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

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