Skip to content

RedHatInsights/tangerine-frontend

Repository files navigation

🍊 tangerine (frontend)

tangerine is a slim and light-weight RAG (Retieval Augmented Generated) system used to create and manage chat bot agents.

Each agent is intended to answer questions related to a set of documents known as a knowledge base (KB).

Overview

See the tangerine-backend overview for an introduction.

The frontend provides a UI for managing chat bot agents, including:

  1. Agent create/update/delete
  2. Document upload
  3. Chatting/interacting with an agent

This project is currently used by Red Hat's Hybrid Cloud Management Engineering Productivity Team. It was born out of a hack-a-thon and is still a work in progress. You will find some areas of code well developed while others are in need of attention and some tweaks to make it production-ready are needed (with that said, the project is currently in good enough shape to provide a working chat bot system).

Currently, the frontend is mostly used for administration purposes or local testing. The document upload interface in the UI is very rudimentary. The backend's S3 sync is the preferred method to configure agents and indicate which documents should be uploaded.

A related plugin for Red Hat Developer Hub can be found here which is the frontend end-users interact with.

Development Envionment Setup

A development environment can be set up with or without docker compose.

With Docker Compose

NOTE: Not supported with Mac, see Without Docker Compose below.

  1. First, refer to the backend setup guide here

  2. Once the backend is up and running, start the frontend:

docker compose up --build
  1. You should then be able to reach the frontend at http://localhost:3000

Without Docker Compose

  1. First, refer to the backend setup guide here

  2. Once the backend is up and running, install the frontend:

    npm install
    
  3. Then start a development server:

    npm start
    
  4. You should then be able to reach the frontend at http://localhost:3000