Coder Social home page Coder Social logo

ragchain's Introduction

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)

Extra utils

  • Query Decomposition
  • Evidence Extractor
  • REDE Search Detector
  • Semantic Clustering
  • Cluster Time Compressor

Dataset Evaluators

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.

ragchain's People

Contributors

vkehfdl1 avatar minsing-jin avatar bwook00 avatar eastsidegunn avatar promtengineer avatar allaye avatar phdykd avatar hyunwook-kwon avatar guillaume-fgt avatar jason3610 avatar kyrbrbik avatar

Stargazers

Cyclotomic Fields avatar LimJihoon (Tony) avatar odmark avatar  avatar  avatar Park-Jeong-Ki avatar jbsh avatar  avatar John Park avatar  avatar  avatar jaesik avatar H avatar Yoo Hyungjun avatar  avatar Choi JaeHun avatar  avatar John Cronk avatar  avatar karnan Gopalakrishnan avatar  avatar  avatar Mattias Lee avatar  avatar Ji Eun Kim avatar HOPE avatar Damien Hou avatar lianfeng zhao avatar  avatar  avatar SEOA7777 avatar Taeyeon Oh / 오태연 avatar  avatar HyeongJin avatar Hongyu Dai avatar  avatar mile.le.ok avatar Gyutae Park avatar Book_A avatar  avatar  avatar Youjun Go avatar Taeha avatar  avatar quynh anh avatar cadl avatar Jintao Zhang avatar chengaiah avatar Gugutose avatar Md Hasan avatar YH Kim avatar Jeong-Minju avatar Patrick Lucescu avatar  avatar  avatar hanyu avatar Kim Seongbin avatar FISHers avatar Marcos Viana avatar JimmyLv_吕立青 avatar fei zuo avatar Taemin Lee avatar Sanggyu Lee avatar  avatar  avatar Samuel Kalu avatar  avatar  avatar JaeHyeong avatar  avatar  avatar Kim avatar BinCan Yang avatar Jamie Lee avatar  avatar  avatar Shawn2306 avatar  avatar Vincent avatar Sani avatar Gurpreet Kaur avatar Naresh Kumar avatar Pratik Barjatiya avatar VARUN SAKUNIA avatar Ashish Patel avatar AI Geek avatar Alireza Akhondi-Asl avatar Thiya avatar Andrew Ryder avatar Xinghao avatar Anton Belousov avatar Patrick Stiller avatar Kerwin Wilson avatar  avatar Nabyl avatar Jeong Jin Lee avatar  avatar Glitchyg avatar Beckett avatar  avatar

Watchers

 avatar Eugene Cho avatar

ragchain's Issues

adapt new KuLLM-ggml model

I think there is an error at tokenizer or ggml error that we're using at KuLLM model.
I will quantize that myself and adapt it. I think it can achieve better performance?

add VLLM support

I can run KuLLM and polyglot. But KoAlpaca is hard to run with VLLM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.