GithubHelp home page GithubHelp logo

dralshlahi / chatbot-ui-advanced Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jorge-menjivar/unsaged

0.0 0.0 0.0 3.06 MB

An open source ChatGPT UI.

Home Page: https://chat.jmenjivar.com

License: MIT License

JavaScript 0.78% TypeScript 98.53% CSS 0.23% Makefile 0.16% Dockerfile 0.30%

chatbot-ui-advanced'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

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.