GitHub - IntelLabs/fastRAG: Efficient Retrieval Augmentation and Generation Framework (original) (raw)
fastRAG is a research framework for efficient and optimized retrieval augmented generative pipelines, incorporating state-of-the-art LLMs and Information Retrieval. fastRAG is designed to empower researchers and developers with a comprehensive tool-set for advancing retrieval augmented generation.
Comments, suggestions, issues and pull-requests are welcomed! ❤️
Important
Now compatible with Haystack v2+. Please report any possible issues you find.
📣 Updates
- 2024-05: fastRAG V3 is Haystack 2.0 compatible 🔥
- 2023-12: Gaudi2 and ONNX runtime support; Optimized Embedding models; Multi-modality and Chat demos; REPLUG text generation.
- 2023-06: ColBERT index modification: adding/removing documents; see IndexUpdater.
- 2023-05: RAG with LLM and dynamic prompt synthesis example.
- 2023-04: Qdrant
DocumentStore
support.
Key Features
- Optimized RAG: Build RAG pipelines with SOTA efficient components for greater compute efficiency.
- Optimized for Intel Hardware: Leverage Intel extensions for PyTorch (IPEX), 🤗 Optimum Intel and 🤗 Optimum-Habana for running as optimal as possible on Intel® Xeon® Processors and Intel® Gaudi® AI accelerators.
- Customizable: fastRAG is built using Haystack and HuggingFace. All of fastRAG's components are 100% Haystack compatible.
🚀 Components
For a brief overview of the various unique components in fastRAG refer to the Components Overview page.
📍 Installation
Preliminary requirements:
- Python 3.8 or higher.
- PyTorch 2.0 or higher.
To set up the software, install from pip
or clone the project for the bleeding-edge updates. Run the following, preferably in a newly created virtual environment:
Extra Packages
There are additional dependencies that you can install based on your specific usage of fastRAG:
Additional engines/components
pip install fastrag[intel] # Intel optimized backend [Optimum-intel, IPEX] pip install fastrag[openvino] # Intel optimized backend using OpenVINO pip install fastrag[elastic] # Support for ElasticSearch store pip install fastrag[qdrant] # Support for Qdrant store pip install fastrag[colbert] # Support for ColBERT+PLAID; requires FAISS pip install fastrag[faiss-cpu] # CPU-based Faiss library pip install fastrag[faiss-gpu] # GPU-based Faiss library
To work with the latest version of fastRAG, you can install it using the following command:
Development tools
License
The code is licensed under the Apache 2.0 License.
Disclaimer
This is not an official Intel product.