Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nguyen-hanhnong/carleton-cs-llm-chatbot

A personal AI chatbot, answering specialized questions relating to Carleton University's Computer Science program. Built using NextJS, React and using OpenRouter API, and deployed on AWS EC2 server.
https://github.com/nguyen-hanhnong/carleton-cs-llm-chatbot

aws aws-ec2 caddy caddyserver langchain nextjs open-ai openrouter rag react

Last synced: about 22 hours ago
JSON representation

A personal AI chatbot, answering specialized questions relating to Carleton University's Computer Science program. Built using NextJS, React and using OpenRouter API, and deployed on AWS EC2 server.

Awesome Lists containing this project

README

        

# Carleton CS LLM & Chatbot

![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)
![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge&logo=css3&logoColor=white)
![MUI](https://img.shields.io/badge/MUI-%230081CB.svg?style=for-the-badge&logo=mui&logoColor=white)
![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=for-the-badge&logo=javascript&logoColor=%23F7DF1E)
![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)
![AWS](https://img.shields.io/badge/AWS-%23FF9900.svg?style=for-the-badge&logo=amazon-aws&logoColor=white)
![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white)
![OpenAI](https://a11ybadges.com/badge?logo=openai)

![GitHub contributors](https://img.shields.io/github/contributors/Nguyen-HanhNong/Carleton-CS-LLM-Chatbot?color=ffcc66&style=for-the-badge)
![GitHub stars](https://img.shields.io/github/stars/Nguyen-HanhNong/Carleton-CS-LLM-Chatbot?color=ffcc66&style=for-the-badge)
[![GitHub forks](https://img.shields.io/github/forks/Nguyen-HanhNong/Carleton-CS-LLM-Chatbot?style=for-the-badge)](https://github.com/Nguyen-HanhNong/star_book/network)
[![GitHub issues](https://img.shields.io/github/issues/Nguyen-HanhNong/Carleton-CS-LLM-Chatbot?color=ffcc66&style=for-the-badge)](https://github.com/Nguyen-HanhNong/star_book/issues)
[![GitHub license](https://img.shields.io/github/license/Nguyen-HanhNong/Carleton-CS-LLM-Chatbot?color=ffcc66&style=for-the-badge)](https://github.com/Nguyen-HanhNong/Carleton-CS-LLM-Chatbot/blob/master/LICENSE)
[![Node Version](https://img.shields.io/static/v1?label=Node&message=^20.10.0&color=026e00&style=for-the-badge)](https://nodejs.org)
[![npm Version](https://img.shields.io/static/v1?label=npm&message=^10.2.3&color=cb0000&style=for-the-badge)](https://nodejs.org)

## What is this application?
![Demo of Chatbot GIF](gif/demo.gif)

This project is an implementation of a customized chatbot, powered by a Llama LLM model from Meta. The chatbot is designed to provide information about the Carleton University Computer Science program. The chatbot is built using NextJS, React, Material-UI, and OpenRouter and OpenAI API.

## Getting Started

### Prerequisites

- The project requires Node.js and npm to run. If you do not have Node.js installed, you can download it [here](https://nodejs.org/en/download/).
- The project will also require a valid OpenRouter API key. You can find more about API key's and OpenRouter at their [website](https://openrouter.ai/docs/api-keys).

### Instructions

1. Clone the repository
```sh
git clone

2. Install NPM packages
```sh
npm install

3. Run the project
```sh
npm run start

4. Open the project in your browser
```sh
http://localhost:3000/

## Improvement and Advancements

- Implement an advanced RAG model for the chatbot to improve the quality of responses, especially relating to course specific content at Carleton University.
- Implement a more advanced and user-friendly UI for the chatbot, allowing users to rate the responses of the model and provide feedback.

## License

Distributed under the GNU General Public License v3.0. See `LICENSE` for more information.