Build advanced RAG workflows with LLM, compatible with Langchain
Project description
RAGchain
RAGchain is a framework for developing advanced RAG(Retrieval Augmented Generation) workflow powered by LLM (Large Language Model). While existing frameworks like Langchain or LlamaIndex allow you to build simple RAG workflows, they have limitations when it comes to building complex and high-accuracy RAG workflows.
RAGchain is designed to overcome these limitations by providing powerful features for building advanced RAG workflow easily. Also, it is partially compatible with Langchain, allowing you to leverage many of its integrations for vector storage, embeddings, document loaders, and LLM models.
Docs | API Spec | QuickStart
Quick Install
pip install RAGchain
Why RAGchain?
RAGchain offers several powerful features for building high-quality RAG workflows:
OCR Loaders
Simple file loaders may not be sufficient when trying to enhance accuracy or ingest real-world documents. OCR models can scan documents and convert them into text with high accuracy, improving the quality of responses from LLMs.
Reranker
Reranking is a popular method used in many research projects to improve retrieval accuracy in RAG workflows. Unlike LangChain, which doesn't include reranking as a default feature, RAGChain comes with various rerankers.
Great to use multiple retrievers
In real-world scenarios, you may need multiple retrievers depending on your requirements. RAGchain is highly optimized for using multiple retrievers. It divides retrieval and DB. Retrieval saves vector representation of contents, and DB saves contents. We connect both with Linker, so it is really easy to use multiple retrievers and DBs.
pre-made RAG pipelines
We provide pre-made pipelines that let you quickly set up RAG workflow. We are planning to make much complex pipelines, which hard to make but powerful. With pipelines, you can build really powerful RAG system quickly and easily.
Easy benchmarking
It is crucial to benchmark and test your RAG workflows. We have easy benchmarking module for evaluation. Support your own questions and various datasets.
Installation
From pip
simply install at pypi.
pip install RAGchain
From source
First, clone this git repository to your local machine.
git clone https://github.com/Marker-Inc-Korea/RAGchain.git
cd RAGchain
Then, install RAGchain module.
python3 setup.py develop
For using files at root folder and test, run dev requirements.
pip install dev_requirements.txt
Supporting Features
Advanced RAG features
Retrievals
OCR Loaders
Rerankers
Web Search
- Google Search
- Bing Search
Workflows (pipeline)
- Basic
- Visconde
- Rerank
- Google Search
Extra utils
- Query Decomposition
- Evidence Extractor
- REDE Search Detector
- Semantic Clustering
- Cluster Time Compressor
Dataset Evaluators
- MS-MARCO
- Mr. Tydi
- Qasper
- StrategyQA
- KoStrategyQA
- ANTIQUE
- ASQA
- DSTC11-Track5
- Natural QA
- NFCorpus
- SearchQA
- TriviaQA
- ELI5
Contributing
We welcome any contributions. Please feel free to raise issues and submit pull requests.
Acknowledgement
This project is an early version, so it can be unstable. The project is licensed under the Apache 2.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file RAGchain-0.2.6.tar.gz
.
File metadata
- Download URL: RAGchain-0.2.6.tar.gz
- Upload date:
- Size: 85.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c396d44e0584345b8f2a6ef783163da8426d79514cd41b0e5275fe372d7bcc9 |
|
MD5 | 954293f86ed7a2c1bba0fe6ea0f96fb9 |
|
BLAKE2b-256 | 2143f09d0ec4d924260826b568a35af5be87be3684457b660974f2b54603e771 |
File details
Details for the file RAGchain-0.2.6-py3-none-any.whl
.
File metadata
- Download URL: RAGchain-0.2.6-py3-none-any.whl
- Upload date:
- Size: 157.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec57201c67b899c12a59135c484c3f4283123016c3596f0c8c854bfe61958d51 |
|
MD5 | f35eee912bb14aae6e39140cf836a19f |
|
BLAKE2b-256 | 8726e647db934f6ddeda0c0b8b4e607022c53a672cf787a459b29171fbc16ecb |