GithubHelp home page GithubHelp logo

garyukong / adaptive-rag Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 2.01 MB

This repository implements a persona-tailored Retrieval-Augmented Generation (RAG) system designed to address the diverse Generative AI (GenAI) needs of research and marketing teams.

License: MIT License

Jupyter Notebook 100.00%

adaptive-rag's Introduction

RAG-Powered Search and QA

Introduction

This proof-of-concept project explores the use of Retrieval-Augmented Generation (RAG) to customize information delivery systems tailored to the specific needs of different user groups within an organization. By leveraging advanced AI techniques, the system dynamically adapts its responses to suit marketing and research teams, ensuring stylistic and contextual relevance.

Goals

  • To develop and demonstrate a proof-of-concept for an adaptive RAG system that tailors responses according to user personas.
  • To assess the impact of various configurations of retrieval systems and language models on the response quality for distinct personas.
  • To optimize system performance through extensive testing and customization of system parameters.

Dataset

This project utilizes a multi-source dataset comprising arXiv papers, GitHub repositories, and Wikipedia entries. Gold standard validation data is provided to benchmark the system's response quality against high-quality human-generated responses.

Methodology

  1. System Architecture: The system uses a flexible RAG architecture that integrates retrieval and generation capabilities, underpinned by the LangChain library.
  2. Customization and Testing: Offers deep customization of retrieval and language model settings, tailored for either marketing or research needs.
  3. Evaluation: Applies BLEURT and qualitative evaluation to rigorously evaluate the system, ensuring responses meet the set quality standards.

Results

The results affirm the capability of the adaptive RAG system to significantly enhance the relevance and quality of responses across different user personas. Particularly, research-oriented configurations have been shown to outperform their marketing counterparts, highlighting the effectiveness of the tailored system components.

Usage

To utilize this project on Google Colab:

  1. Open Google Colab: Go to Google Colab and sign in with your Google account.
  2. Upload Notebooks: Upload the Jupyter notebooks from the notebooks/ directory of this repository to your Google Colab session.
  3. Install Dependencies: Run the pip install commands to install the required dependencies

Future Work

Further developments might include exploring additional data sources for even more tailored responses, integrating more advanced language models, and expanding the customization options for different industries or departments within an organization.

Project Organization

├── LICENSE
├── README.md
├── data
│    ├── final               <- Final results of all experiments, consolidated and cleaned
│    ├── interim             <- Results from hyperparameter tuning experiments
│    └── raw                 <- Gold standard validation data
├── notebooks
│    └── Adaptive-RAG.ipynb  <- Jupyter notebook used to generate report
├── reports
│    ├── figures             <- Figures used to generate report
│    └── Adaptive-RAG.ipynb  <- Final report
└── models                   <- Configuration files of model variants

adaptive-rag's People

Contributors

garyukong avatar

Watchers

 avatar

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.