127 lines
3.5 KiB
Markdown
127 lines
3.5 KiB
Markdown
# Chatbot UI
|
|
|
|
Chatbot UI is an advanced chatbot kit for OpenAI's chat models built on top of [Chatbot UI Lite](https://github.com/mckaywrigley/chatbot-ui-lite) using Next.js, TypeScript, and Tailwind CSS.
|
|
|
|
See a [demo](https://twitter.com/mckaywrigley/status/1640380021423603713?s=46&t=AowqkodyK6B4JccSOxSPew).
|
|
|
|

|
|
|
|
## Updates
|
|
|
|
Chatbot UI will be updated over time.
|
|
|
|
Expect frequent improvements.
|
|
|
|
**Next up:**
|
|
|
|
- [ ] Delete messages
|
|
- [ ] More model settings
|
|
- [ ] Plugins
|
|
|
|
**Recent updates:**
|
|
|
|
- [x] Prompt templates (3/27/23)
|
|
- [x] Regenerate & edit responses (3/25/23)
|
|
- [x] Folders (3/24/23)
|
|
- [x] Search chat content (3/23/23)
|
|
- [x] Stop message generation (3/22/23)
|
|
- [x] Import/Export chats (3/22/23)
|
|
- [x] Custom system prompt (3/21/23)
|
|
- [x] Error handling (3/20/23)
|
|
- [x] GPT-4 support (access required) (3/20/23)
|
|
- [x] Search conversations (3/19/23)
|
|
- [x] Code syntax highlighting (3/18/23)
|
|
- [x] Toggle sidebar (3/18/23)
|
|
- [x] Conversation naming (3/18/23)
|
|
- [x] Github flavored markdown (3/18/23)
|
|
- [x] Add OpenAI API key in app (3/18/23)
|
|
- [x] Markdown support (3/17/23)
|
|
|
|
## Modifications
|
|
|
|
Modify the chat interface in `components/Chat`.
|
|
|
|
Modify the sidebar interface in `components/Sidebar`.
|
|
|
|
Modify the system prompt in `utils/index.ts`.
|
|
|
|
## Deploy
|
|
|
|
**Vercel**
|
|
|
|
Host your own live version of Chatbot UI with Vercel.
|
|
|
|
[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmckaywrigley%2Fchatbot-ui)
|
|
|
|
**Replit**
|
|
|
|
Fork Chatbot UI on Replit [here](https://replit.com/@MckayWrigley/chatbot-ui-pro?v=1).
|
|
|
|
**Docker**
|
|
|
|
Build locally:
|
|
|
|
```shell
|
|
docker build -t chatgpt-ui .
|
|
docker run -e OPENAI_API_KEY=xxxxxxxx -p 3000:3000 chatgpt-ui
|
|
```
|
|
|
|
Pull from ghcr:
|
|
|
|
```
|
|
docker run -e OPENAI_API_KEY=xxxxxxxx -p 3000:3000 ghcr.io/mckaywrigley/chatbot-ui:main
|
|
```
|
|
|
|
## Running Locally
|
|
|
|
**1. Clone Repo**
|
|
|
|
```bash
|
|
git clone https://github.com/mckaywrigley/chatbot-ui.git
|
|
```
|
|
|
|
**2. Install Dependencies**
|
|
|
|
```bash
|
|
npm i
|
|
```
|
|
|
|
**3. Provide OpenAI API Key**
|
|
|
|
Create a .env.local file in the root of the repo with your OpenAI API Key:
|
|
|
|
```bash
|
|
OPENAI_API_KEY=YOUR_KEY
|
|
```
|
|
|
|
> You can set `OPENAI_API_HOST` where access to the official OpenAI host is restricted or unavailable, allowing users to configure an alternative host for their specific needs.
|
|
|
|
> Additionally, if you have multiple OpenAI Organizations, you can set `OPENAI_ORGANIZATION` to specify one.
|
|
|
|
**4. Run App**
|
|
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
**5. Use It**
|
|
|
|
You should be able to start chatting.
|
|
|
|
## Configuration
|
|
|
|
When deploying the application, the following environment variables can be set:
|
|
|
|
| Environment Variable | Default value | Description |
|
|
| --------------------- | ------------------------------ | ------------------------------------------------------- |
|
|
| OPENAI_API_KEY | | The default API key used for authentication with OpenAI |
|
|
| DEFAULT_MODEL | `gpt-3.5-turbo` | The default model to use on new conversations |
|
|
| DEFAULT_SYSTEM_PROMPT | [see here](utils/app/const.ts) | The defaut system prompt to use on new conversations |
|
|
|
|
If you do not provide an OpenAI API key with `OPENAI_API_KEY`, users will have to provide their own key.
|
|
If you don't have an OpenAI API key, you can get one [here](https://platform.openai.com/account/api-keys).
|
|
|
|
## Contact
|
|
|
|
If you have any questions, feel free to reach out to me on [Twitter](https://twitter.com/mckaywrigley).
|