/Ragtastic

Easily prototype and scale Retrieval-augmented generation apps with Ragtastic. Our intuitive UI simplifies managing vector databases and large language model integration, making advanced AI more accessible.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Contributors Forks Stargazers Issues Apache 2.0 License


Ragtastic Logo

Ragtastic

Easily prototype and scale Retrieval-augmented generation apps with Ragtastic.
Explore the docs »

View Demo · Report Bug · Request Feature · Join our Discord

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Ragtastic Screen Shot

Ragtastic is designed to simplify the development of Retrieval-augmented generation (RAG) applications, making it easy to integrate large language models and vector databases through an intuitive UI. Whether you're a developer looking to prototype AI interactions or a data professional aiming to build generative search apps, Ragtastic provides the essential tools to enhance your AI-driven solutions efficiently.

Built With

This section lists any major frameworks/libraries used to bootstrap your project:

Getting Started

There are several ways to get started working with Ragtastic. You can use one of our release builds listed here. To get a local copy up and running follow these simple steps.

Prerequisites

Installation Clone the repo

git clone https://github.com/Yerrington-Consulting/Ragtastic.git

Client

Install Packages

From the Ragtastic/client directory, install the client packages.

yarn install

Yarn Scripts

Command Description
yarn dev 🚀 Starts the development server using Vite.
yarn build:web 🌐 Builds the web version of the application with specific Vite config.
yarn build:electron 🖥️ Builds the Electron version of the application with specific Vite config.
yarn lint 🔍 Runs ESLint to check for code issues in .js and .jsx files.
yarn preview 📦 Serves the built app for testing with Vite preview.

Server

Setting Up the Python Environment

For this project, we recommend using a virtual environment to isolate the package dependencies. Follow these steps to set up your environment and run the application.

Prerequisites

Python: Ensure you have Python installed on your machine. You can download it from python.org or use a package manager on your operating system.

Soon, we will add the requirements.txt

From the Ragtastic/server directory, create a separate environment (highly recommended).

Create a Virtual Environment Navigate to the project directory where the requirements.txt is located and create a virtual environment using:

For Windows

python -m venv venv

For macOS and Linux

python3 -m venv venv

Activate the Virtual Environment Before you install dependencies or run the application, activate the virtual environment:

For Windows

.\venv\Scripts\activate

For macOS and Linux

source venv/bin/activate

Install Dependencies

With the virtual environment activated, install the project dependencies:

pip install -r requirements.txt

Running the Application

With the virtual environment set up and dependencies installed, you are ready to run the application.

Start the FastAPI server To run the FastAPI application, use the following command:

uvicorn app.main:app --reload

Deactivating the Virtual Environment When you're done working with the application, you can deactivate the virtual environment by running:

deactivate

This command will return you to your system’s default Python interpreter.

Usage

Use Ragtastic to manage chat sessions, configure prompts dynamically, and integrate with vector databases for enhanced user queries. For more examples, refer to the Documentation.

Roadmap

  • Initial Release with basic chat session management
  • Integration with OpenAI API models (GPT-3.x, GPT-4.x)
  • Support for Vector Database (ChromaDB)
  • Cross-platform builds for Mac, Windows, and Linux

See the open issues for a full list of proposed features (and known issues) or come to our Discord #feature-requests channel.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Fork the Project

  1. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  2. Commit your Changes (git commit -m 'Add some AmazingFeature')
  3. Push to the Branch (git push origin feature/AmazingFeature)
  4. Open a Pull Request