To install UltraRAG, there are primarily two recommended approaches: source code installation using a Python package manager like uv or pip, and a containerized deployment via Docker. The choice depends on the desired level of control over the environment and the specific components required. UltraRAG is designed as a low-code framework for building complex Retrieval-Augmented Generation (RAG) pipelines, focusing on modularity and efficient deployment for research and industrial prototyping.
For source code installation, the developers strongly recommend using uv for its speed in managing Python environments and dependencies. First, ensure uv is installed via pip install uv. Then, you can choose from several installation options: for basic core functions and the UltraRAG UI, use uv sync. For a full installation that includes retrieval, generation, corpus processing, and evaluation capabilities, execute uv sync --all-extras. Alternatively, for on-demand installation of specific modules, you can specify extras like uv sync --extra retriever for only the retrieval module or uv sync --extra generation for the generation module. If you prefer to install UltraRAG into an already active Python environment, you can use uv pip install -e . after cloning the repository.
Another method involves using pip directly. For example, a basic installation might involve pip install ultrarag fastapi pydantic docker (assuming certain API access is configured). For a more traditional setup, you would typically clone the UltraRAG GitHub repository, navigate into the directory, and then install dependencies. Some tutorials also suggest setting up a Conda environment first for better environment isolation and dependency management, especially if you need to handle specific CUDA versions for GPU acceleration. While not explicitly detailed in the provided snippets, a vector database like Milvus might be necessary for certain RAG functionalities, and its deployment would be a separate, but often integrated, step in a full RAG system setup. Docker is also presented as a simple method for deployment, particularly if your machine has nvidia-docker configured for GPU support. After the container starts, the UltraRAG UI typically becomes accessible at http://localhost:5050.