143 lines
4.3 KiB
Markdown
143 lines
4.3 KiB
Markdown
<p align="center">
|
|
<img alt="demo" src="./demos/demo.png?v=1">
|
|
</p>
|
|
|
|
# ChatGPT UI
|
|
|
|
A web client for ChatGPT, using OpenAI's API. Provides Docker images and also supports quick deployment to servers using shell scripts.
|
|
|
|
## 📢Updates
|
|
|
|
<details open>
|
|
<summary><strong>2023-03-04</strong></summary>
|
|
|
|
**Update to the latest official chat model** `gpt-3.5-turbo`
|
|
|
|
**🎉🎉🎉Provide a shell script that can be used to quickly deploy the service to server** [Quick start](#one-click-depolyment)
|
|
|
|
</details>
|
|
|
|
<details open>
|
|
|
|
<summary><strong>2023-02-24</strong></summary>
|
|
Version 2 is a major update that separates the backend functionality as an independent project, hosted at [chatgpt-ui-server](https://github.com/WongSaang/chatgpt-ui-server).
|
|
|
|
If you still wish to use the old version, please visit the [v1 branch](https://github.com/WongSaang/chatgpt-ui/tree/v1).
|
|
|
|
Version 2 introduces the following new features:
|
|
|
|
- 😉 Separation of the frontend and backend, with the backend now using the Python-based Django framework.
|
|
- 😘 User authentication, supporting multiple users.
|
|
- 😀 Ability to store data in an external database (defaulting to Sqlite).
|
|
- 😎 Session persistence, allowing the API to answer questions based on your context.
|
|
|
|
</details>
|
|
|
|
## 🚀 One-click deployment <a name="one-click-depolyment"></a>
|
|
|
|
Note: This script has only been tested on Ubuntu Server 22.04 LTS.
|
|
|
|
```bash
|
|
bash <(curl -Ls https://raw.githubusercontent.com/WongSaang/chatgpt-ui/main/deployment.sh)
|
|
```
|
|
|
|
> If you have a domain name, you can point it to the server's IP address using DNS resolution. Of course, using the server's IP address directly is also possible.
|
|
> During the script's execution, you will be prompted to enter a domain name. If you do not have a domain name, you can enter the server's IP address directly.
|
|
|
|
### After the deployment is complete
|
|
|
|
Access `http(s)://your.domain:9000/admin` / IP `http(s)://123.123.123.123:9000/admin` to log in to the administration panel.
|
|
|
|
Default superuser: `admin`
|
|
|
|
Default password: `password`
|
|
|
|
Before you can start chatting, you need to add an OpenAI API key. In the Settings model, add a record with the name `openai_api_key` and the value as your API key.
|
|
|
|
Now you can access the web client at `http(s)://your.domain` or `http://123.123.123.123` to start chatting.
|
|
|
|
🎉🎉🎉 Enjoy it!
|
|
|
|
## Quick start with Docker Compose
|
|
|
|
### Run services
|
|
|
|
Below is a docker-compose.yml template:
|
|
|
|
```yaml
|
|
version: '3'
|
|
services:
|
|
client:
|
|
image: wongsaang/chatgpt-ui-client:latest
|
|
environment:
|
|
- SERVER_DOMAIN=http://backend-web-server
|
|
depends_on:
|
|
- backend-web-server
|
|
ports:
|
|
- '80:80'
|
|
networks:
|
|
- chatgpt_ui_network
|
|
backend-wsgi-server:
|
|
image: wongsaang/chatgpt-ui-wsgi-server:latest
|
|
environment:
|
|
# - DB_URL=postgres://postgres:postgrespw@localhost:49153/chatgpt # If this parameter is not set, the built-in Sqlite will be used by default. It should be noted that if you do not connect to an external database, the data will be lost after the container is destroyed.
|
|
- DJANGO_SUPERUSER_USERNAME=admin # default superuser name
|
|
- DJANGO_SUPERUSER_PASSWORD=password # default superuser password
|
|
- DJANGO_SUPERUSER_EMAIL=admin@example.com # default superuser email
|
|
ports:
|
|
- '8000:8000'
|
|
networks:
|
|
- chatgpt_ui_network
|
|
backend-web-server:
|
|
image: wongsaang/chatgpt-ui-web-server:latest
|
|
environment:
|
|
- BACKEND_URL=http://backend-wsgi-server:8000
|
|
ports:
|
|
- '9000:80'
|
|
depends_on:
|
|
- backend-wsgi-server
|
|
networks:
|
|
- chatgpt_ui_network
|
|
|
|
networks:
|
|
chatgpt_ui_network:
|
|
driver: bridge
|
|
```
|
|
|
|
### Set API key
|
|
|
|
After running the services, you can access the web client at `http://localhost`, and an admin panel at `http://localhost:9000/admin`.
|
|
|
|
Default superuser: `admin`
|
|
|
|
Default password: `password`
|
|
|
|
Before you can start chatting, you need to log in to the admin panel to add an OpenAI API key. In the Settings model, add a record with the name `openai_api_key` and the value as your API key.
|
|
|
|
|
|
## Development
|
|
|
|
### Setup
|
|
|
|
Make sure to install the dependencies:
|
|
|
|
```bash
|
|
# yarn
|
|
yarn install
|
|
```
|
|
|
|
### Development Server
|
|
|
|
Start the development server on http://localhost:3000
|
|
|
|
```bash
|
|
yarn dev
|
|
```
|
|
|
|
### Production
|
|
|
|
Build the application for production:
|
|
|
|
```bash
|
|
yarn build
|
|
``` |