Skip to content

hudus/chatbot-ui

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chatbot UI

Chatbot UI is an open source chat UI for AI models.

Discord Banner

Chatbot UI

See a demo.

Updates

Work Completed:

Up Next:

  • In-app plugin system
  • @chatbot-ui/couchdb extension
  • @chatbot-ui/mongodb extension

Deploy

Vercel

Host your own live version of Chatbot UI with Vercel.

Deploy with Vercel

Usage

Step 1. Clone Repo

git clone https://github.com/jorge-menjivar/chatbot-ui.git

Step 2. Install Dependencies

npm i

Step 3. Add extensions

Enable extensions by following the instructions in the README files of the extensions you want to use:

Step 4. Run App

Run Locally:

npm run dev

Or run with Docker:

docker build -t chatbot-ui . --rm
docker run --env-file=.env.local -p 3000:3000 --name chatbot chatbot-ui

(Optional) Step 5. Provide OpenAI API Key

To give everyone using the chatbot access to an API key, create a .env.local file and set:

OPENAI_API_KEY=YOUR_KEY

Notes:

  • If you do not provide an 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.
  • 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.

Configuration

When deploying the application, the following environment variables can be set:

Chat-related Variables

Environment Variable Default value Description
OPENAI_API_KEY The default API key used for authentication with OpenAI
OPENAI_API_HOST https://api.openai.com The base url, for Azure use https://<endpoint>.openai.azure.com
OPENAI_API_TYPE openai The API type, options are openai or azure
OPENAI_API_VERSION 2023-03-15-preview Only applicable for Azure OpenAI
OPENAI_ORGANIZATION Your OpenAI organization ID
DEFAULT_MODEL gpt-3.5-turbo (OpenAI) gpt-35-turbo (Azure) The default model to use on new conversations
NEXT_PUBLIC_DEFAULT_SYSTEM_PROMPT see here The default system prompt to use on new conversations
NEXT_PUBLIC_DEFAULT_TEMPERATURE 1 The default temperature to use on new conversations
GOOGLE_API_KEY See [Custom Search JSON API documentation][GCSE]
GOOGLE_CSE_ID See [Custom Search JSON API documentation][GCSE]

Authentication Variables

Environment Variable Default value Description
NEXT_PUBLIC_AUTH_ENABLED false Enable SSO authentication. set 'true' or 'false'
NEXTAUTH_EMAIL_PATTERN The email regex pattern granted access to chatbot-ui. For example [email protected]
NEXTAUTH_SECRET NextAuth Settings. See Documentation
NEXTAUTH_URL http://localhost:3000 NextAuth Settings. See Documentation
NEXTAUTH_URL_INTERNAL (Optional) NextAuth Settings. See Documentation.
<PROVIDER>_CLIENT_ID Provider OAuth Client ID
<PROVIDER>_CLIENT_SECRET Provider OAuth Client Secret
<PROVIDER>_ISSUER Provider Issuer URL

Where <PROVIDER> is one of the following:

  • APPLE
  • AUTH0
  • COGNITO
  • DISCORD
  • FACEBOOK
  • GITHUB
  • GITLAB
  • GOOGLE
  • OKTA
  • REDDIT
  • SALESFORCE
  • SLACK
  • SPOTIFY
  • TWITCH
  • TWITTER

For example, to enable Google and Github authentication, you would add the following to your .env.local file:

GITHUB_CLIENT_ID=xxxxxxxxxxxxx
GITHUB_CLIENT_SECRET=xxxxxxxxxxxxx
GOOGLE_CLIENT_ID=xxxxxxxxxxxxx
GOOGLE_CLIENT_SECRET=xxxxxxxxxxxx

About

An open source ChatGPT UI.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 98.5%
  • Other 1.5%