Go to file
Thomas LÉVEIL 68c9cd4bd8
Fix 416 copy button on code block (#427)
* update README regarding GOOGLE_API_KEY and GOOGLE_CSE_ID

* 🐛 fix copy button not showing up on code block with no recognized language

fixes #416
2023-04-04 16:55:52 -06:00
.github/workflows chore: migrate to vitest for 10x faster tests (#257) 2023-03-28 04:22:58 -06:00
__tests__/utils/app feat: support import and export with prompts (#330) 2023-04-01 22:59:51 -06:00
components Fix 416 copy button on code block (#427) 2023-04-04 16:55:52 -06:00
docs push (#414) 2023-04-04 09:41:24 -06:00
k8s feat: add in prettier and format code for consistency (#168) 2023-03-25 23:13:18 -06:00
pages Hide API Key and Plugin Key buttons if set server side (#423) 2023-04-04 16:53:10 -06:00
public Update promptbar.json (#389) 2023-04-03 02:52:12 -06:00
styles fix: layout shifting on small devices (#258) 2023-03-28 04:23:34 -06:00
types Google fixes (#415) 2023-04-04 10:09:28 -06:00
utils push (#414) 2023-04-04 09:41:24 -06:00
.dockerignore fix import (#242) 2023-03-28 02:27:37 -06:00
.env.local.example push (#414) 2023-04-04 09:41:24 -06:00
.eslintrc.json chatbot-ui starter 2023-03-13 19:21:14 -06:00
.gitignore scroll btn (#256) 2023-03-28 02:52:45 -06:00
CONTRIBUTING.md added CONTRIBUTING.md file (#188) 2023-03-26 02:25:00 -06:00
Dockerfile feat: Add i18n support for Chinese language (#142) 2023-03-25 09:42:48 -06:00
Makefile add k8s config (#117) 2023-03-25 04:24:43 -06:00
README.md update README regarding GOOGLE_API_KEY and GOOGLE_CSE_ID (#422) 2023-04-04 16:53:32 -06:00
docker-compose.yml 🐳 add Dockerfile (#17) 2023-03-19 06:49:41 -06:00
license chatbot-ui starter 2023-03-13 19:21:14 -06:00
next-i18next.config.js Locale it (#363) 2023-04-02 07:42:33 -06:00
next.config.js feat: add in prettier and format code for consistency (#168) 2023-03-25 23:13:18 -06:00
package-lock.json push (#414) 2023-04-04 09:41:24 -06:00
package.json push (#414) 2023-04-04 09:41:24 -06:00
postcss.config.js feat: add in prettier and format code for consistency (#168) 2023-03-25 23:13:18 -06:00
prettier.config.js feat: add in prettier and format code for consistency (#168) 2023-03-25 23:13:18 -06:00
tailwind.config.js make all chat area components tabbable (accessibility) (#246) 2023-03-28 02:35:57 -06:00
tsconfig.json chore: migrate to vitest for 10x faster tests (#257) 2023-03-28 04:22:58 -06:00
vitest.config.ts chore: migrate to vitest for 10x faster tests (#257) 2023-03-28 04:22:58 -06:00

README.md

Chatbot UI

Chatbot UI is an advanced chatbot kit for OpenAI's chat models built on top of Chatbot UI Lite using Next.js, TypeScript, and Tailwind CSS.

See a demo.

Chatbot UI

Updates

Chatbot UI will be updated over time.

Expect frequent improvements.

Next up:

  • Delete messages
  • More model settings
  • Plugins

Recent updates:

  • Prompt templates (3/27/23)
  • Regenerate & edit responses (3/25/23)
  • Folders (3/24/23)
  • Search chat content (3/23/23)
  • Stop message generation (3/22/23)
  • Import/Export chats (3/22/23)
  • Custom system prompt (3/21/23)
  • Error handling (3/20/23)
  • GPT-4 support (access required) (3/20/23)
  • Search conversations (3/19/23)
  • Code syntax highlighting (3/18/23)
  • Toggle sidebar (3/18/23)
  • Conversation naming (3/18/23)
  • Github flavored markdown (3/18/23)
  • Add OpenAI API key in app (3/18/23)
  • 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.

Deploy with Vercel

Replit

Fork Chatbot UI on Replit here.

Docker

Build locally:

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

git clone https://github.com/mckaywrigley/chatbot-ui.git

2. Install Dependencies

npm i

3. Provide OpenAI API Key

Create a .env.local file in the root of the repo with your OpenAI API Key:

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

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 The default system prompt to use on new conversations
GOOGLE_API_KEY See Custom Search JSON API documentation
GOOGLE_CSE_ID See Custom Search JSON API documentation

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.

Contact

If you have any questions, feel free to reach out to me on Twitter.