Chatbot with a 'sort-of' long-term memory 🧠 with Text generation web UI and ChatGPT backend.
- Support for multiple clients
web
: 🌐 browser based chats (recommended)discord
: 🎮 a discord bot you can add to your serverterminal
: 💻 terminal based chatssttts
: 🗣️ Speech-To-Text & Text-To-Speech
- Rolling message history
- Long-term memory using embeddings with Redi🔍 backend
- Message correction that feeds corrections back into message history
(e.g. corrects some command syntax issues) - Bots can call Tools (including web-browsing and code execution)
- Multiple bots can be added to the conversation
(reuses same model if model config is the same)
- Redis with Redi🔍:
docker run -p 6379:6379 redis/redis-stack
. - 📄 Refer to Dockerfile for OS dependencies.
- One of the following backends:
- llama-node compatible models
- Text generation web UI (with API enabled)
- OpenAI API key
Copy an example configuration from data/persistent/settings.example.*.json
to data/persistent/settings.json
.
docker build -t deads-inc/open-chatbot-js .
<mode>
is one of the implemented clients, e.g.terminal
-d
selectsdata/persistent
as data directory-b
selects one of the backends underdata/persistent/backends
-t
selects one of the turn templates underdata/persistent/turn_templates
-c
selects one of the characters underdata/persistent/characters
docker run -it --rm --net=host -v ./data/persistent/:/app/data/persistent/ deads-inc/open-chatbot-js <mode> -d data/persistent -b webui.example.json -t vicuna.json -c eva.example.json
cd ./open-chatbot-js
npm install --omit=dev
npx tsc --project tsconfig.prod.json
see launch.json