Skip to content

Visualise, explore, and calibrate your RAG pipeline

License

Notifications You must be signed in to change notification settings

liric24/RAGxplorer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAGxplorer 🦙🦺

RAGxplorer is an interactive streamlit tool to support the building of Retrieval Augmented Generation (RAG) applications by visualizing document chunks and the queries in the embedding space.

Demo

Streamlit App

Due to infra limitations, this freely hosted demo may occassionaly go down. The best experience is to clone this repo, and run it locally.

Features

  • Document Upload: Users can upload PDF documents.
  • Chunk Configuration: Options to configure the chunk size and overlap
  • Choice of embedding model: all-MiniLM-L6-v2 or text-embedding-ada-002
  • Vector Database Creation: Builds a vector database using Chroma
  • Query Expansion: Generates sub-questions and hypothetical answers to enhance the retrieval process.
  • Interactive Visualization: Utilizes Plotly to visualise the chunks.

Installation

To run RAGxplorer, ensure you have Python installed, and then install the necessary dependencies:

pip install -r requirements.txt

Usage

  1. Setup OPENAI_API_KEY (required) and ANYSCALE_API_KEY (if you need anyscale). Copy the .streamlit/secrets.example.toml file to .streamlit/secrets.toml and fill in the values.
  2. To start the application, run:
streamlit run app.py

Contributing

Contributions to RAGxplorer are welcome. Please read our contributing guidelines (WIP) for details.

License

This project is licensed under the MIT license - see the LICENSE file for details.

Acknowledgments

  • DeepLearning.AI and Chroma for the inspiration and foundational code.
  • The Streamlit community for the support and resources.

About

Visualise, explore, and calibrate your RAG pipeline

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%