llama_index is a free, open source machine learning infrastructure project written in Python and released under MIT. It has 52,202 GitHub stars, 8,162 forks and 770 open issues, and was last pushed 6 hours ago. On this registry it ranks #5 of 57 tracked projects in Machine Learning Infrastructure, with 5 head-to-head comparisons available. It gained 31 stars over the last 3 tracked days.

What is llama_index?

LlamaIndex is an MIT-licensed, open-source Python framework for building agentic applications — retrieval-augmented generation systems, agents and multi-agent workflows — on top of private documents and data, and it is aimed at AI engineers and teams who need to connect large language models to their own sources of context.

What it is

LlamaIndex OSS is the open-source framework published by LlamaIndex, written in Python and distributed under the MIT licence. It lives in the AI and machine learning infrastructure ecosystem, where it serves as the orchestration layer between an application and the providers it depends on: large language models, embedding models and vector stores. Building with it typically means combining LlamaIndex core with a chosen set of integrations, or plugins, and the project names three documentation tracks for this work: LlamaIndex OSS, LlamaParse and LlamaAgents.

The concrete problem it solves is provider glue. A team that wants to parse documents, build an index, retrieve context and hand it to a model would otherwise write and maintain its own adapters for every model, embedding service and vector store it touches. LlamaIndex replaces that hand-written plumbing with a single framework plus over 300 integration packages on LlamaHub, so the same application code can be pointed at a different LLM, embedding provider or vector store without rewriting the pipeline. The framework has been available since 2023 and covers both RAG and agent application patterns.

Key capabilities

  • Two supported installation paths: the llama-index starter package, which bundles core LlamaIndex with a selection of integrations, and llama-index-core, which installs core only so integrations can be added individually.
  • Over 300 LlamaIndex integration packages on LlamaHub, covering LLM, embedding and vector store providers.
  • A documented namespacing convention: from llama_index.core.xxx import ClassABC indicates the core package, while from llama_index.xxx.yyy import SubclassABC indicates an integration package.
  • Retrieval-augmented generation pipelines, reflected in the rag topic and the vector-database topic.
  • Agentic and multi-agent application construction, reflected in the agents and multi-agents topics and in the LlamaAgents documentation track.
  • Document parsing and extraction as the framework's stated current focus, with LlamaParse providing agentic OCR, parsing, extraction and indexing.
  • Related open efforts: LiteParse, a free, fast and cheap text parser, plus ParseBench and ExtractBench for open benchmarking of parsing and extraction.

Who uses it and how

  • AI startups processing documents, which the README names directly as one intended audience.
  • Enterprises automating document workflows, named as the second intended audience.
  • Teams that need to unlock context from difficult documents accurately and cheaply at scale, which the README frames as the reason agents are becoming the consumers of documents.
  • Developers who want a pluggable stack and therefore choose their own LLM, embedding and vector store providers rather than accepting a fixed combination.
  • Projects that want an open toolkit they can self-host, since the framework is a Python library and the hosted LlamaParse platform is optional rather than required.

Getting started

Install the starter package with pip install llama-index, or install llama-index-core and add the required integration packages from LlamaHub. Documentation for the OSS framework, LlamaParse and LlamaAgents is published at developers.llamaindex.ai.

How it compares

No list of paid products that this project replaces is provided in the facts, and no comparable third-party framework is named either, so it stands alone in this registry. The only adjacent tools the README names are the vendor's own: LlamaParse, described as the enterprise platform for agentic OCR, parsing, extraction and indexing, and LiteParse, described as the free, fast, cheap text parser. The README states that the company's primary focus has shifted toward LlamaParse, LiteParse and the benchmarking efforts, while the OSS framework remains available as an open toolkit.

When to use it — and when not to

Choose it when an open, MIT-licensed Python toolkit for RAG and agent orchestration is the requirement and the team is comfortable assembling its own stack of integrations from LlamaHub. Self-hosters operate the Python environment and whatever LLM, embedding and vector store providers they select; the facts mention no database, object storage or mail server that the framework itself requires. It is a weaker fit for teams that want document parsing to be the vendor's actively prioritised product, since the README states that the framework's role has moved to the background relative to LlamaParse, and the repository carries 770 open issues alongside its 52,200 stars.

project readme (upstream, from github) — read inline

🗂️ LlamaIndex (OSS Framework) 🦙

PyPI - Downloads Build GitHub contributors Discord Twitter Reddit

[!NOTE] The current focus of LlamaIndex is to build the best AI-powered engine for document parsing and extraction. LlamaParse is our enterprise platform for agentic OCR, parsing, extraction, indexing and more. LiteParse represents our efforts to build the best free, fast, cheap text parser in the market. ParseBench and ExtractBench represent our commitment towards open benchmarking for parsing and extraction.

The company itself has undergone an evolution since when this OSS framework first launched 3 years ago in 2023. Since the early days, the framework has consisted of a broad set of orchestration tools enabling developers to build various RAG and agent applications.

While we still have the OSS framework available as an open toolkit that you're welcome to use, our primary focus has shifted towards LlamaParse, along with liteparse and our benchmarking efforts. We have a strong belief that agents are the new consumers of documents, and they fundamentally need the right tools to unlock context from the world's hardest documents accurately/cheaply at scale. Whether you're an AI startup processing documents or an enterprise looking to automate document workflows, come talk to us.

LlamaIndex OSS (by LlamaIndex) is an open-source framework to build agentic applications. 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

readme truncated — read the full docs on github

Frequently asked questions

Is llama_index free to use?

llama_index is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does llama_index do?

LlamaIndex is the document processing platform for AI

What is llama_index written in?

llama_index is primarily written in Python. Its source is publicly available at https://github.com/run-llama/llama_index, and it has 52,202 GitHub stars.