llama-index-core
Interface between LLMs and your data
What it is and what it does
LlamaIndex Core is the foundational library for building LLM-powered applications, particularly those using retrieval-augmented generation (RAG). It provides core abstractions—interfaces for LLMs, vector stores, embeddings, and storage backends—that let you connect language models to your data. The library is designed to be extended through subclasses, so you build applications by combining LlamaIndex Core with integrations for specific providers that your application needs.
The package handles the plumbing between your data and language models: document loading, chunking, embedding, indexing, and retrieval. It abstracts away provider-specific details so you can swap vector stores, embedding models, or LLM backends without rewriting application logic. With 29 runtime dependencies covering async I/O, data serialization, and common utilities, it trades some installation weight for broad compatibility and reduced boilerplate in downstream code.
Use it for:
- Build a document Q&A system that retrieves relevant passages from your knowledge base before sending queries to an LLM.
- Create a multi-step RAG pipeline that chains document retrieval, reranking, and LLM synthesis for complex queries.
- Prototype LLM applications quickly by swapping vector stores or embedding providers without changing core application code.
- Index and query structured data alongside unstructured documents in a unified interface.
- Develop agent systems where the LLM can retrieve context from multiple data sources before deciding on actions.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
LlamaIndex Core provides foundational abstractions and classes for building LLM applications, particularly retrieval-augmented generation (RAG) systems, with extensible interfaces for LLMs, vector stores, embeddings, and storage.
Yes. LlamaIndex Core is actively maintained, permissively licensed, and widely adopted (top 5000 PyPI packages by downloads). It has no known vulnerabilities and provides genuine abstraction value for RAG and LLM application development. The 29 dependencies are a real cost, but they enable broad integration support. Install it if you're building LLM applications; skip it only if you need a minimal LLM wrapper without data integration.
Install
llama-index-core on PyPI
pip
pip install llama-index-coreuv
uv add llama-index-corepoetry
poetry add llama-index-coreInstalling llama-index-core
Before you install
Low friction installation with a pure Python wheel. Active maintenance with recent commits and a large repository footprint (51641 stars). Requires Python 3.10 or later and brings in 29 runtime dependencies including common data-handling and async libraries.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for most production and research contexts.
Quickstart
pip install llama-index-core
from llama_index_core import VectorStoreIndex
index = VectorStoreIndex.from_documents(documents)
Requires Python 3.10 or later. Most use cases will also require external LLM and embedding provider credentials or local model setup.
Verify before relying
- Whether the 29 runtime dependencies are all strictly necessary for basic usage or if many are optional for specific integrations.
- Performance characteristics and memory footprint when indexing large document collections.
- Specific version compatibility constraints with popular LLM providers and vector databases.
- Whether SimpleDirectoryReader is available in core or requires a separate integration package.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 29 — aiohttp, aiosqlite, banks, dataclasses-json, deprecated, dirtyjson, eval-type-backport, filetype, fsspec, httpx, llama-index-workflows, nest-asyncio, networkx, nltk, numpy, pillow, platformdirs, pydantic, pyyaml, requests, setuptools, sqlalchemy, tenacity, tiktoken, tinytag, tqdm, typing-extensions, typing-inspect, wrapt |
| Maintenance | actively maintained — 51 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 16,404,018/month — #1,154 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: llama_index_core-0.14.23-py3-none-any.whl
Keywords: LLM, NLP, RAG, data, devtools, index, retrieval
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
llama-indexLlamaIndex is a data framework that connects…
permissive · top 5,000 on PyPI
llama-index-legacyLlamaIndex Legacy is a data framework for…
permissive · top 5,000 on PyPI
llama-index-vector-stores-qdrantIntegrates Qdrant vector database with…
permissive · top 15,000 on PyPI
llama-index-cliProvides command-line interface tools for…
permissive · top 5,000 on PyPI
llama-index-vector-stores-milvusIntegrates the Milvus vector database with…
permissive · top 15,000 on PyPI
llama-index-vector-stores-redisIntegrates Redis as a vector store backend for…
permissive · top 15,000 on PyPI
llama-index-embeddings-azure-openaiIntegrates Azure OpenAI's embedding models with…
permissive · top 15,000 on PyPI
needle-pythonPython client library for the Needle API,…
permissive · top 15,000 on PyPI
cocoindexCocoIndex maintains a live,…
permissive · top 15,000 on PyPI
npmainpmai provides a Python interface to access…
permissive · top 5,000 on PyPI