Installation
The easiest way to install is via pip and PyPI
pip install txtai
Python 3.9+ is supported. Using a Python virtual environment is recommended.
Optional dependencies
txtai has the following optional dependencies that can be installed as extras. The patterns below are supported in setup.py install_requires sections.
Note: Extras are provided for convenience. Alternatively, individual packages can be installed to limit dependencies.
All
Install all dependencies.
pip install txtai[all]
ANN
Additional ANN backends.
pip install txtai[ann]
API
Serve txtai via a web API.
pip install txtai[api]
Cloud
Interface with cloud compute.
pip install txtai[cloud]
Console
Command line index query console.
pip install txtai[console]
Database
Additional content storage options.
pip install txtai[database]
Graph
Topic modeling, data connectivity and network analysis.
pip install txtai[graph]
Model
Additional non-standard models.
pip install txtai[model]
Pipeline
All pipelines - default install comes with most common pipelines.
pip install txtai[pipeline]
More granular extras are available for pipeline categories: pipeline-audio
, pipeline-data
, pipeline-image
, pipeline-llm
, pipeline-text
, and pipeline-train
.
Scoring
Additional scoring methods.
pip install txtai[scoring]
Vectors
Additional vector methods.
pip install txtai[vectors]
Workflow
All workflow tasks - default install comes with most common workflow tasks.
pip install txtai[workflow]
Combining dependencies
Multiple dependencies can be specified at the same time.
pip install txtai[pipeline,workflow]
Environment specific prerequisites
Additional environment specific prerequisites are below.
Linux
The AudioStream and Microphone pipelines require the PortAudio system library. The Transcription pipeline requires the SoundFile system library.
macOS
Older versions of Faiss have a runtime dependency on libomp
for macOS. Run brew install libomp
in this case.
The AudioStream and Microphone pipelines require the PortAudio system library. Run brew install portaudio
.
Windows
Optional dependencies require C++ Build Tools
The txtai build workflow occasionally has work arounds for other known but temporary dependency issues. The FAQ also has a list of common problems, including common installation issues.
CPU-only
The default install adds PyTorch with GPU support. There are a number of dependencies that come with that. When running in a CPU-only environment or using Embeddings/LLM models without PyTorch (i.e. llama.cpp or API services), the CPU-only PyTorch package can be installed with txtai as follows.
pip install txtai torch==[version]+cpu \
-f https://download.pytorch.org/whl/torch
Where [version]
is the version of PyTorch (such as 2.4.1). The txtai-cpu image on Docker Hub uses this method to reduce the image size.
Install from source
txtai can also be installed directly from GitHub to access the latest, unreleased features.
pip install git+https://github.com/neuml/txtai
Extras can be installed from GitHub by adding #egg=txtai[<name-of-extra>]
to the end of the above URL.
Conda
A community-supported txtai package is available via conda-forge.
conda install -c conda-forge txtai
Run with containers
Docker images are available for txtai. See this section for more information on container-based installs.