Giter Club home page Giter Club logo

chatbot-ui-plus's Introduction

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

chatbot-ui-plus's People

Contributors

adiestel avatar alanpog avatar anthonypuppo avatar aweshchoudhary avatar bcullman avatar borborborja avatar ch4r4f avatar chanzhaoyu avatar dasunnimantha avatar dotneet avatar ernestobarrera avatar huuphongnguyen avatar hyena459 avatar itbm avatar jdban avatar jorge-menjivar avatar khairulhaaziq avatar khankudo avatar liby avatar matriq avatar mckaywrigley avatar nauxliu avatar oznav2 avatar riande avatar ryanhex53 avatar shemarlindie avatar spctechdev avatar srsholmes avatar syedmuzamilm avatar thomasleveil avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.