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.
A complete list of packages and available integrations is available on LlamaHub.
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-core
llama-index-legacy # temporarily included
llama-index-llms-openai
llama-index-embeddings-openai
llama-index-program-openai
llama-index-question-gen-openai
llama-index-agent-openai
llama-index-readers-file
llama-index-multi-modal-llms-openai
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.
Tip
You can also use one of many other available LLMs. You may need additional environment keys + tokens setup depending on the LLM provider.
Check out our OpenAI Starter Example
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
Check out our Starter Example with Local Models
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/run-llama/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 projectpoetry install
- this will install the core starter package requirements- (Optional)
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