Installation and Setup#
The LlamaIndex ecosystem is structured using a collection of namespaced packages.
What this means for users is that LlamaIndex comes with a core starter bundle, and additional integrations can be installed as needed.
Quickstart Installation from Pip#
To get started quickly, you can install with:
pip install llama-index
This is a starter bundle of packages, containing
llama-index-legacy # temporarily included
NOTE: LlamaIndex may download and store local files for various packages (NLTK, HuggingFace, …). Use the environment variable “LLAMA_INDEX_CACHE_DIR” to control where these files are saved.
Important: OpenAI Environment Setup#
By default, we use the OpenAI
gpt-3.5-turbo model for text generation and
text-embedding-ada-002 for retrieval and embeddings. In order to use this, you must have an OPENAI_API_KEY set up as an environment variable.
You can obtain an API key by logging into your OpenAI account and and creating a new API key.
You can also use one of many other available LLMs. You may need additional environment keys + tokens setup depending on the LLM provider.
Custom Installation from Pip#
If you aren’t using OpenAI, or want a more selective installation, you can install individual packages as needed.
For example, for a local setup with Ollama and HuggingFace embeddings, the installation might look like:
pip install llama-index-core llama-index-readers-file llama-index-llms-ollama llama-index-embeddings-huggingface
A full guide to using and configuring LLMs is available here.
A full guide to using and configuring embedding models is available here.
Installation from Source#
Git clone this repository:
git clone https://github.com/jerryjliu/llama_index.git. Then do the following:
Install poetry - this will help you manage package dependencies
poetry shell- this command creates a virtual environment, which keeps installed packages contained to this project
poetry install- this will install the core starter package requirements
poetry install --with dev, docs- this will install all dependencies needed for most local development
From there, you can install integrations as needed with
pip, For example:
pip install -e llama-index-integrations/llms/llama-index-llms-ollama