Skip to content

Run and create custom ChatGPT-like bots with OpenChat, embed and share these bots anywhere, the open-source chatbot console.

License

Notifications You must be signed in to change notification settings

rendao/OpenChat

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

All Contributors

Tests


πŸ”₯ OpenChat

Important disclaimer:

⚠️ This project is not production ready, meant for local environment at this early stage, We quickly built this project to validate the idea, so please excuse any shortcomings in the code. You may come across several areas that require enhancements, and we truly appreciate your support by opening issues, submitting pull requests, and providing suggestions.


OpenChat is an everyday user chatbot console that simplifies the utilization of large language models. With the advancements in AI, the installation and usage of these models have become overwhelming. OpenChat aims to address this challenge by providing a two-step setup process to create a comprehensive chatbot console. It serves as a central hub for managing multiple customized chatbots.

Currently, OpenChat supports GPT models, and we are actively working on incorporating various open-source drivers that can be activated with a single click.

Try it out:

You can try it out on openchat.so (we use our own OpenAI/pinecone token for the demo, please be mindful on the usage, we will clear out bots every 3 hours)

video.1.mp4

🏁 Current Features

  • Create unlimited local chatbots based on GPT-3 (and GPT-4 if available).
  • Customize your chatbots by providing PDF files, websites, and soon, integrations with platforms like Notion, Confluence, and Office 365.
  • Each chatbot has unlimited memory capacity, enabling seamless interaction with large files such as a 400-page PDF.
  • Embed chatbots as widgets on your website or internal company tools.
  • Use your entire codebase as a data source for your chatbots (pair programming mode).
  • And much more!

πŸ›£οΈ Roadmap:

  • Create unlimited chatbots
  • Share chatbots via URL
  • Integrate chatbots on any website using JS (as a widget on the bottom right corner)
  • Support GPT-3 models
  • Support vector database to provide chatbots with larger memory
  • Accept websites as a data source
  • Accept PDF files as a data source
  • Support multiple data sources per chatbot
  • Support ingesting an entire codebase using GitHub API and use it as a data source with pair programming mode
  • Support Slack integration (allow users to connect chatbots with their Slack workspaces)
  • Support Intercom integration (enable users to sync chat conversations with Intercom)
  • Support offline open-source models (e.g., Alpaca, LLM drivers)
  • Support Vertex AI and Palm as LLMs
  • Support Confluence, Notion, Office 365, and Google Workspace
  • Refactor the codebase to be API ready
  • Create a new UI designer for website-embedded chatbots
  • Support custom input fields for chatbots
  • Support pre-defined messages with a single click
  • Support offline usage: this is a major feature, OpenChat will operate fully offline with no internet connection at this stage (offline LLMs, offline Vector DBs)

We love hearing from you! Got any cool ideas or requests? We're all ears! So, if you have something in mind, give us a shout!

πŸš€ Getting Started

  • To begin, clone this Git repository:
git clone [email protected]:openchatai/OpenChat.git
  • Update common.env with your keys:
OPENAI_API_KEY=# you can get it from your account in openai.com
PINECONE_API_KEY=# you can get from "API Keys" tab in pinecone
PINECONE_ENVIRONMENT=# you can get it after creating your index in pinecone
PINECONE_INDEX_NAME=# you can get it after creating your index in pinecone

Note: for pincone db, make sure that the dimension is equal to 1536

  • Navigate to the repository folder and run the following command:
make install

⚠️ Windows users might not be able to install OpenChat easily and we are working on fixing that.

Once the installation is complete, you can access the OpenChat console at: https://localhost:8000

installation (no docker)

1. backend-server

Requirements

  • PHP8.1+
  • create dir /app/shared_data on your system

install composer packages

composer install --no-plugins --no-scripts

.env

cp .env.example .env and add Mysql information in .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=openchat
DB_USERNAME=dbuser
DB_PASSWORD=dbpass

php artisan init

  • php artisan key:generate
  • php artisan config:cache
  • php artisan migrate --seed
  • php artisan storage:link

php server run:

php artisan serve --host=0.0.0.0 --port=8000 backend-server: https://localhost:8000

php server queue listen:

php artisan queue:work --timeout=200

change /etc/hosts, add:

127.0.0.1 llm-server

2. llm-server

node modules

npm install

build next.js app

npm run build

start next.js app

npm run start

llm-server: https://llm-server:3000,you can manage it use pm2.

❀️ Thanks:

  • To @mayooear for his work and tutorial on chatting with PDF files, we utilized a lot of his code in the LLM server.

License

This project is licensed under the MIT License.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Ikko Eltociear Ashimine
Ikko Eltociear Ashimine

πŸ€” πŸ’»
Joshua Sindy
Joshua Sindy

πŸ›
Erjan Kalybek
Erjan Kalybek

πŸ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

About

Run and create custom ChatGPT-like bots with OpenChat, embed and share these bots anywhere, the open-source chatbot console.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Blade 50.6%
  • PHP 19.7%
  • CSS 14.8%
  • JavaScript 12.4%
  • TypeScript 2.0%
  • Makefile 0.3%
  • Dockerfile 0.2%