Skip to content
/ Today Public

Agentic RAG chatbot for Princeton students to get real-time campus information (Chrome extension and mobile app included)

Notifications You must be signed in to change notification settings

leo-step/Today

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Today

Folder Structure

.github/workflows - contains yaml files defining cron jobs

analysis - scripts to analyze and dump chatbot conversation data

chatbot - contains the React project for the chat interface + mobile app (new!)

extension - has the React project for the Today chrome extension

pipelines - Python scripts to crawl websites and read emails, very messy

server - code for the widget data server and chatbot

Installation

.env files will be provided to you.

Server

cd server
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

Run python app.py to start the server, then call the endpoints through Postman:

POST http://127.0.0.1:8000/api/chat

(raw json)
{
    "text": "econ classes?",
    "uuid": "60da31a19-63e6-4ba7-ab80-c7eb4452be1a",
    "session_id": "asdf29"
}

Extension

Development

If you want to use local server, switch URL in src/config.tsx to the DEV url.

cd extension
npm install
npm start

Release

Before creating a production build:

  1. Return the url in src/config.tsx back to the PROD url.
  2. Bump the version number in public/manifest.json and commit.
npm run build

Then zip the build folder and upload to the Chrome extension store.

Chatbot

Development

If you want to use local server, switch URL in src/config.tsx to the DEV url.

cd chatbot
npm install
npm run dev

Release

Before creating a production build:

  1. Return the url in src/config.tsx back to the PROD url.
npm run build
cd ..
git add .
git commit -m "build"

The last steps are required because the build command updates the dist folder in server.

Mobile App

Follow the instructions here.

Deployment

Chatbot UI and server (for widget data and chatbot)

git subtree push --prefix server heroku main

Extension

Follow the release steps and zip the build folder and upload to the Chrome extension store. Remember to accurately update the description and screenshots if new visual features were added.

About

Agentic RAG chatbot for Princeton students to get real-time campus information (Chrome extension and mobile app included)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •