final-year-project
Chatalyst: React Messaging Application with Integrated AI for Smart Replies.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.9%) to scientific vocabulary
Keywords
Repository
Chatalyst: React Messaging Application with Integrated AI for Smart Replies.
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Chatalyst
Ethan Conneely (G00393941)
Ryan Harte (G00338424)
Introduction
This is a final year project for ATU Galway where we undertook creating an AI powered chat service. This service is usable on both desktop and mobile by going to https://chatalyst.ethanconneely.com/ and signing up with a google account.
Structure
- /src - Contains source code to frontend, backend and LLM
- /Documentation - Contains various documentation related to the project
- /Ethan Conneely (G00393941) - Contains all material for submission including latex documents and video overview by Ethan Conneely.
- /Ryan Harte (G00338424) - Contains all material for submission including the Dissertation and a screencast of the Chatalyst app by Ryan Harte.
Requirements
To run this application you will need: - Node 20+ - Npm - GoLang 1.21+ - VSCode - Air for golang hotreloading (Optional) - Local install of a LLM / an openai key for using chatgpt
Setup Instructions
Open project in vscode tasks will run automatically that will setup everything.
You will need node for it to npm i
and you will need air which will hot reload the backend server for development
or manual way
Frontend
shell
cd src/Frontend
npm install
npm run dev
Backend
```shell cd src/Backend
go run .
or
air # optional hot reload for development ```
LLM
Either a openai api key to utilize chatgpt or a local install of https://github.com/oobabooga/text-generation-webui can be used, below is the install guide for the local LLM a signup for openai can be found here https://platform.openai.com/signup
To run the LLM for intelligent smart replies you will need to install https://github.com/oobabooga/text-generation-webui
The instructions are in the repo.
The model we are using for development is this one https://huggingface.co/TheBloke/open-llama-3b-v2-wizard-evol-instuct-v2-196k-GGUF but any open llama model would work fine the larger the better the resulting replies but higher the hardware requirements become this one was chosen as it is able to run on my gpu which gives much faster results.
Documentation/Research
Owner
- Name: Ryan Harte
- Login: ryan-harte
- Kind: user
- Location: Limerick, Ireland
- Company: ATU
- Repositories: 1
- Profile: https://github.com/ryan-harte
Computer Science and Software Development graduate from ATU Galway (formerly GMIT)
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Chatalyst
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Ethan
family-names: Conneely
email: G00393941@atu.ie
affiliation: ATU
- given-names: Ryan
family-names: Harte
email: G00338424@atu.ie
affiliation: ATU
repository-code: >-
https://github.com/The-Mad-Ryanosaurus/Final-Year-Project/tree/main
url: 'https://chatalyst.ethanconneely.com'
repository: 'https://github.com/IrishBruseForks/Final-Year-Project'
repository-artifact: 'https://github.com/IrishBruse/chatalyst-hosting'
abstract: >-
Final year project where an AI enhanced Instant messaging
application was made that utilized a LLM for smart
replies.
keywords:
- LLM
- React
- GoLang
GitHub Events
Total
Last Year
Dependencies
- cloud.google.com/go/compute v1.23.3
- cloud.google.com/go/compute/metadata v0.2.3
- github.com/go-playground/locales v0.14.1
- github.com/go-playground/universal-translator v0.18.1
- github.com/go-playground/validator v9.31.0+incompatible
- github.com/go-sql-driver/mysql v1.7.1
- github.com/golang-jwt/jwt v3.2.2+incompatible
- github.com/golang-jwt/jwt/v5 v5.0.0
- github.com/golang/protobuf v1.5.3
- github.com/google/uuid v1.4.0
- github.com/joho/godotenv v1.5.1
- github.com/labstack/echo-jwt/v4 v4.2.0
- github.com/labstack/echo/v4 v4.11.2
- github.com/labstack/gommon v0.4.0
- github.com/leodido/go-urn v1.2.4
- github.com/mattn/go-colorable v0.1.13
- github.com/mattn/go-isatty v0.0.20
- github.com/valyala/bytebufferpool v1.0.0
- github.com/valyala/fasttemplate v1.2.2
- golang.org/x/crypto v0.14.0
- golang.org/x/net v0.17.0
- golang.org/x/oauth2 v0.13.0
- golang.org/x/sys v0.13.0
- golang.org/x/text v0.13.0
- golang.org/x/time v0.3.0
- google.golang.org/appengine v1.6.8
- google.golang.org/protobuf v1.31.0
- cloud.google.com/go/compute v1.23.1
- cloud.google.com/go/compute v1.23.3
- cloud.google.com/go/compute/metadata v0.2.3
- github.com/davecgh/go-spew v1.1.0
- github.com/davecgh/go-spew v1.1.1
- github.com/go-playground/locales v0.14.1
- github.com/go-playground/universal-translator v0.18.1
- github.com/go-playground/validator v9.31.0+incompatible
- github.com/go-sql-driver/mysql v1.7.1
- github.com/golang-jwt/jwt v3.2.2+incompatible
- github.com/golang-jwt/jwt/v5 v5.0.0
- github.com/golang/protobuf v1.5.0
- github.com/golang/protobuf v1.5.2
- github.com/golang/protobuf v1.5.3
- github.com/google/go-cmp v0.5.5
- github.com/google/go-cmp v0.5.9
- github.com/google/go-cmp v0.6.0
- github.com/google/uuid v1.4.0
- github.com/joho/godotenv v1.5.1
- github.com/labstack/echo-jwt/v4 v4.2.0
- github.com/labstack/echo/v4 v4.11.2
- github.com/labstack/gommon v0.4.0
- github.com/leodido/go-urn v1.2.4
- github.com/mattn/go-colorable v0.1.11
- github.com/mattn/go-colorable v0.1.13
- github.com/mattn/go-isatty v0.0.14
- github.com/mattn/go-isatty v0.0.16
- github.com/mattn/go-isatty v0.0.19
- github.com/mattn/go-isatty v0.0.20
- github.com/pmezard/go-difflib v1.0.0
- github.com/stretchr/objx v0.1.0
- github.com/stretchr/objx v0.4.0
- github.com/stretchr/objx v0.5.0
- github.com/stretchr/testify v1.7.0
- github.com/stretchr/testify v1.7.1
- github.com/stretchr/testify v1.8.0
- github.com/stretchr/testify v1.8.2
- github.com/stretchr/testify v1.8.4
- github.com/valyala/bytebufferpool v1.0.0
- github.com/valyala/fasttemplate v1.2.1
- github.com/valyala/fasttemplate v1.2.2
- github.com/yuin/goldmark v1.4.13
- golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
- golang.org/x/crypto v0.0.0-20210921155107-089bfa567519
- golang.org/x/crypto v0.14.0
- golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4
- golang.org/x/net v0.0.0-20190620200207-3b0461eec859
- golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
- golang.org/x/net v0.0.0-20220722155237-a158d28d115b
- golang.org/x/net v0.17.0
- golang.org/x/oauth2 v0.13.0
- golang.org/x/sync v0.0.0-20190423024810-112230192c58
- golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4
- golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
- golang.org/x/sys v0.0.0-20201119102817-f84b799fce68
- golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1
- golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
- golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6
- golang.org/x/sys v0.0.0-20211103235746-7861aae1554b
- golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a
- golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f
- golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab
- golang.org/x/sys v0.6.0
- golang.org/x/sys v0.13.0
- golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1
- golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
- golang.org/x/text v0.3.0
- golang.org/x/text v0.3.3
- golang.org/x/text v0.3.7
- golang.org/x/text v0.3.8
- golang.org/x/text v0.13.0
- golang.org/x/time v0.3.0
- golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e
- golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e
- golang.org/x/tools v0.1.12
- golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7
- golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
- google.golang.org/appengine v1.6.8
- google.golang.org/protobuf v1.26.0-rc.1
- google.golang.org/protobuf v1.26.0
- google.golang.org/protobuf v1.31.0
- gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
- gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
- gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
- gopkg.in/yaml.v3 v3.0.1
- 250 dependencies
- @types/react ^18.2.15 development
- @types/react-dom ^18.2.7 development
- @typescript-eslint/eslint-plugin ^6.0.0 development
- @typescript-eslint/parser ^6.0.0 development
- @vitejs/plugin-react-swc ^3.3.2 development
- eslint ^8.45.0 development
- eslint-plugin-react-hooks ^4.6.0 development
- eslint-plugin-react-refresh ^0.4.3 development
- typescript ^5.0.2 development
- vite ^4.4.5 development
- @mui/icons-material ^5.14.13
- @mui/material ^5.14.12
- @react-oauth/google ^0.11.1
- axios ^1.5.1
- date-fns ^2.30.0
- notistack ^3.0.1
- react ^18.2.0
- react-dom ^18.2.0
- react-query ^3.39.3
- react-router-dom ^6.16.0