It's a clone (MVP) of the ChatGPT.
Basic funtionality is implemented:
- Create, Delete, Delete all, Update title for Chats
- Post messages to a chat and generate GPT response
- Stop and Regenerate GPT responses
- Edit User messages and switch between threads
- Voice input powered by Whisper API and voice output built with Browser API
What is not implemented:
- Pagination for chats and messages on UI
- Rendering performance for the conversation can be improved
- Some bugs are not fixed
Feel free to submit PRs and make forks.
- Sign up for an OpenAI API account at https://platform.openai.com/signup.
- Generate an API Key.
- Install Git: Follow the instructions on the official Git documentation to install Git.
- Install Docker: Install Docker by following the instructions on the official Docker documentation.
-
Clone the backend repository:
git clone https://github.com/chat-gpt-assistant/assistant-back.git cd assistant-back
-
Update the
src/main/resources/application-docker.yml
file with your OpenAI API key -
Run MongoDB using the
mongo.yml
from the project:docker-compose -f ./src/main/docker/mongo.yml up -d
-
Build the Docker image of the backend using Jib:
./gradlew jibDockerBuild
-
Run the backend Docker image with network for MongoDB and opened ports for the REST API:
docker run -d -p 8080:8080 --network docker_chatgptassistant-net -e SPRING_PROFILES_ACTIVE=docker --name chat-gpt-assistant com.github.chat-gpt-assistant/assistant-back:0.0.1-SNAPSHOT
-
Clone the UI repository:
git clone https://github.com/chat-gpt-assistant/assistant-ui.git cd assistant-ui
-
Build the UI Docker image:
docker build -t assistant-ui -f ./docker/Dockerfile .
-
Run the UI Docker image:
docker run -d -p 3000:80 --name assistant-ui assistant-ui
The front-end UI will now be available at http://localhost:3000.